一、`cmd` 和 $(cmd) 的共同之处
反引号 `cmd` 和 $(cmd) 变量替换的效果是一致的,比如:
:~> echo `date`
Tue Jan 21 15:48:50 CST 2020
:~> echo $(date)
Tue Jan 21 15:49:02 CST 2020
虽然 `cmd` 和 $(cmd) 变量替换效果一样,但在使用上还是有一些区别的。
二、 `cmd` 和 $(cmd) 的区别
1、嵌套
反引号 `` 不支持嵌套,而 $()
支持嵌套
如计算目录下第一个文件的行数:
# test.sh
linenum=$(wc -l $(ls | grep testfile))
echo $linenum
调试过程和结果:
sh -x test.sh
++