Linux下面的引号的区别:
单引号:两个单引号之间的内容就是普通的字符串,按照原始的字面量输出来的。
双引号:两个双引号之间的内容,部分特殊字符会起到他们自己本身的作用,这些特殊字符有:$,反斜杠\,反引号`,感叹号!
反引号:两个反引号之间的字符可以作为命令执行,执行的输出结果作为该反引号里面的内容 叫做命令替换,另外一种表达方式 $(command)
下面是案例:
(1)特殊符号在单引号 双引号内部的区别 其中JAVA_HONE是内部环境变量
[hadoop@mini10 shellTest]$ echo '$JAVA_HOME'
$JAVA_HOME
[hadoop@mini10 shellTest]$ echo “$JAVA_HOME”
“/usr/local/jdk1.8.0_171”
(2) 反斜杠在双引号里面表示的是转移字符
[hadoop@mini10 shellTest]$ echo '\$JAVA_HOME'
\$JAVA_HOME
[hadoop@mini10 shellTest]$ echo “\$JAVA_HOME”
“$JAVA_HOME”
(3)反引号包围起来的将是要执行的命令 常常在shell脚本里面可以用来捕捉命令的输出结果的。
[hadoop@mini10 shellTest]$ echo `date`
2018年 11月 26日 星期一 15:08:11 CST
[hadoop@mini10 shellTest]$ echo `ls -l`
总用量 4 -rw-rw-r-- 1 hadoop hadoop 248 11月 26 14:55 test01.sh
另外,需要说明的是:我们可能是常常会忘记添加双引号, 双引号可以作为安全数据的保证的。
总结一下一个常见的问题:
单引号里面添加单引号?
第一种方法是bash特有的,$’string’ 之间到反斜杠都将转义字符,第二种方法,通过单引号的ASCII码来打印单引号,而第三种方法,则是通过截断命令,在中间插入单引号来实现。一般用第一种方法是最优雅的。
[hadoop@mini10 shellTest]$ echo $'abc\'abc'
abc'abc
[hadoop@mini10 shellTest]$ echo -e 'abc\x27abc' ASCII码打印
abc'abc
[hadoop@mini10 shellTest]$ echo 'abc'\''abc' 截断表达输出
abc'abc
本文深入解析了Linux系统中单引号、双引号及反引号的使用区别,通过实例展示了特殊字符在不同引号内的作用,强调了双引号在确保数据安全方面的重要性。
101

被折叠的 条评论
为什么被折叠?



