【RHCA+】转义字符和$()
“ 目录RHCA - 5 Shell脚本 - 3-2 转义字符和$() ”一、反斜杠\使反斜杠后面字符变为单纯的字符不包含特殊含义若在命令末尾输入\后回车\将屏蔽回车键的提交命令功能以此实现命令的多行输入[rootwuzuniao ~]# echo * #默认*表示所有文件anaconda-ks.cfg initial-setup-ks.cfg[rootwuzuniao ~]# echo \* #转义后屏蔽字符本身特殊含义*[rootwuzuniao ~]# echo 1\ #取消回车键提交命令功能实现多行输入 2\ 3123[rootwuzuniao ~]#二、单引号 全局转义其中所有字符为单纯的字符串取消特殊含义[rootwuzuniao ~]# echo * #单引号内字符都只显示字符本身*[rootwuzuniao ~]#三、双引号 作用类似于单引号取消特殊字符的特殊含义但不屏蔽 反引号 、反斜杠\、变量$的含义若需屏蔽时要再在这三种字符前加转义字符 反斜杠\[rootwuzuniao ~]# martlet5 #定义一个名为martlet的变量并赋值为5临时定义的变量重启后消失[rootwuzuniao ~]# echo martlet $martlet #这种执行方式把每个空格间隔的字符当做一个单独的参数处理martlet 5[rootwuzuniao ~]# echo martlet $martlet #双引号括起来便被当成了一个整体一般在参数中出现空格就加双引号没有空格时可不加双引号martlet 5[rootwuzuniao ~]# echo martlet $$martlet #想输出martlet $5但美元符号与变量提取符号合并后的$$作用是显示当前程序的进程ID号码(当前终端的PID)martlet 1856martlet[rootwuzuniao ~]# echo martlet \$$martlet #使用反斜杠\进行转义可以将命令提取符转义成单纯的文本显示martlet $5[rootwuzuniao ~]#四、反引号 、$()将其中的命令执行后返回结果tab键上面的按键相同效果的命令还有 $(uname -a)[rootwuzuniao ~]# echo uname -a #输出某个命令的输出值可以像命令这样将命令用反引号括起来Linux wuzuniao.cn_1.100 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux[rootwuzuniao ~]# echo $(uname -a) #输出命令的值Linux wuzuniao.cn_1.100 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux[rootwuzuniao ~]#