命令替换的两种方式 1 .“(反引号,电脑键盘Esc下面的那个键) 使用如下图:
2 . $()命令 使用如下图: 结果同“的结果相同。
$()和“两种命令替换的异同以及优缺点
“方式 对于类似上述简单的命令来说与$()来说没有太大的区别,但是我们来看看下面的栗子。命令中又转义会怎么样呢? 栗:采用grep命令在文件中找出包含\的行。 情景1: -F的作用是不使用正则表达式 因为\也是grep正则表达式的转义符,所以不使用-F的情景如下。 情景2: 我们发现上述两种情况下$()都可以运行出正确的结果,但使用反引号情景1会出现bash报错,因为\也是反引号的正则表达式的转义符。情景二中grep会报错,同样是因为 因为\也是grep正则表达式的转义符,所以两种情况下都会出错。并且错误很难调试。 情景三:正确使用反引号的情况 上述虽然可以正确的执行出结果,但是由于\是反引号和”“和grep的正则表达式的转义符所以导致的结果是由8个, 太可怕了。所以为了避免类似的错误我们尽可能的使用$()来进行命令替换。