Linux下面shell编程中的引号说明。。。。

本文深入解析了Linux系统中单引号、双引号及反引号的使用区别,通过实例展示了特殊字符在不同引号内的作用,强调了双引号在确保数据安全方面的重要性。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值