文章目录
- $()
- ${}
$()
$() 小括号里面是 Linux 命令,作用就是执行里面的命令后返回执行的结果;和 ``(反引号)作用一样。
$() 与 ``(反引号)都是用来作命令替换的。命令替换与变量替换差不多,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行。
例如:
todaydate=$(date +%Y%m%d);
意思是执行 date 命令,返回执行结果给变量 todaydate,也可以写为:
todaydate=`date +%Y%m%d`;
比如:
ls $(pwd)
Applications Desktop Downloads Movies Pictures cookiefile.json to
Creative Cloud Files Documents Library Music Public statistics.json
其实是要执行 () 里面的命令 pwd,然后用执行的结果替换 $() 内容。
等价于:
ls `pwd`
Applications Desktop Downloads Movies Pictures cookiefile.json to
Creative Cloud Files Documents Library Music Public statistics.json
${}
${} 变量替换,大括号里面是变量,取变量的值替换 ${}。一般情况下,$var 与 ${var} 是没有区别的,但是用 ${} 会比较精确的界定变量名称的范围
例如:大括号里面数组变量
$ A = (hello linux shell) # 定义一个数组变量
$ echo ${A[0]} # 取数组的第一个元素的值
则会输出 hello。