文章目录
$()
- $()
- ${}
$()
小括号里面是 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。