Shell 命令替换 反单引号
命令替换:当前内容替换成该命令的输出。
语法
`命令`
`是反单引号,Esc下的键位。
等价语法
$(命令)
反单引号容易看错,$( )又太麻烦。大家还是习惯使用反单引号
。
什么是命令替换
回顾变量
变量的使用通过$或${ },可以应用在两个位置:
1)赋值语句
2)命令参数
echo "分数:$score"
x=${score}
现在有一个需求,变量内容需要直接替换成一个命令的输出,即通过命令替换。
类似伪代码如下
echo "当前日期:date命令结果"
dateStr="当前日期:date格式化命令结果"
如果直接写命令名,会被当作普通字符串直接输出。需要加反单引号`或$( )进行标识。
示例
例1:显示当前时期 。
echo "当前日期:`date`"
不加反单引号就原样显示date了。
例2:显示当前日期,格式化为 年-月-日 。
echo "当前日期:$(date +%Y-%m-%d)"
例3:将当前日期的年月日赋值给变量
str1=`date +%Y-%m-%d`
echo $str1