Linux_SHELL脚本中的反引号(`)
用反引号,将shell命令引起来,可以将命令的输出值赋给变量
比如这里,date命令输出具体的时间
[root@localhost ~]$ date
Mon Apr 27 16:07:01 CST 2020
那么我用反引号将命令完整的引起来,赋值给变量today,那我们可以输出这个变量,若无再次赋值,那这个变量值是不会改变的。
[root@localhost ~]$ today=`date`
[root@localhost ~]$ echo $today
Mon Apr 27 16:13:36 CST 2020
[root@localhost ~]$ echo $today
Mon Apr 27 16:13:36 CST 2020
要输出某个命令的结果值,直接$美元符引用其实也可以了,是一样的效果
[root@localhost ~]$ echo $(date)
Mon Apr 27 16:20:45 CST 2020
[root@localhost ~]$ today = $(date)
[root@localhost ~]$ echo $today
Mon Apr 27 16:20:59 CST 2020
[root@localhost ~]$ echo $today
Mon Apr 27 16:20:59 CST 2020
$() 与 反引号 `` 其实效果是一样的
在操作上,这两者都是达到相应的效果,但是建议使用$(),理由如下:
1、``反引号容易与双引号弄混,
2、$()更直观
但$()不是所有类在unix系统都支持这种方式,但反引号是肯定支持的。