``和 $()都具有执行命令的功能,但如果具有嵌套,使用 $ ()
我们现在来详细说说:
- 单引号:呆萌小弟,给它啥出来啥,从来不知道翻译:
[root@server1 ~]# echo 'hostname'
hostname
- 双引号:
特殊的符号比如“$”、反撇号、“\”、系统变量能认识。你要是不知道系统变量有哪些,点击这里查看,包教包会
那要是命令行?不好意思,它也呆萌着!
能调用变量的值嘛?不好意思,不能!
[root@server1 ~]# echo "hostname" //不知道是命令行
hostname
[root@server1 ~]# echo "$?" //$?是一个系统变量,表示上一个进程执行的结果,如果为正确,则显示0,错误则显示非0
0
[root@server1 ~]# a=4
[root@server1 ~]# echo "a" //变量的值也调用不起来啊
a
- 反撇号:
只能执行命令行的呆萌小弟。
特殊的符号不认识。
也不能调用变量的值!
[root@server1 ~]# echo 'hostname'
hostname
[root@server1 ~]# a=4
[root@server1 ~]# echo 'a' //不能调用变量值
a
[root@server1 ~]# echo '$?' //不认识系统变量
$?
- $:
只能调用变量值!
[root@server1 ~]# echo $hostname
[root@server1 ~]# a=4
[root@server1 ~]# echo $a
4
- $()
只能执行命令;
调用变量值?不行。
辨认特殊符号?也不行。
[root@server1 ~]# echo $(id -u)
0
[root@server1 ~]# a=4
[root@server1 ~]# echo $(a)
bash: a: command not found...
综上所述,术业有专攻,每个符号都有自己的一个功能,所以,你记住了嘛?