Linux Bash环境下对单引号、双引号和反引号的处理

本文详细介绍了Linux Bash环境下单引号、双引号和反引号的作用。单引号用于保持所有特殊字符不变;反引号执行命令替换;双引号则仅对特定字符进行转义。同时,反斜杠用于转义和命令换行。通过理解这些转义符,可以更好地控制命令行中的字符处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       Bash在扫描命令行的过程中,类似于编译器的预编译过程。Bash首先在文本层次上,优先解释所有的特殊字符,再对转换完成的新命令行进行内核的系统调用。

       有三种转义符:单引号,双引号,反斜杠。如要要让通配符,或者元字符变成普通字符,就需要用到转义符.

字符说明
‘’(单引号)又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
“”(双引号)又叫软转义,其内部只允许出现特定的shell 元字符:$用于参数代换 `用于命令代替
\(反斜杠)又叫转义,去除其后紧跟的元字符或通配符的特殊意义。

具体可参看:点击打开链接

(1) 单引号(''):    在命令行中,单引号引用的部分的所有特殊字符均按照普通字符解释,如下所示:


(2)反引号(``):  反引号作用相当于命令替换,Bash处理时引用的部分会被优先执行,执行结果被替换到外层的命令行文本中;反引号可以嵌套使用,但是嵌套时内部的反引号必须进行转义处理。

(先执行ls,将结果作为echo的输出)

(3)双引号(""):  双引号引用的部分,仅解释美元符号$、转义符\(目前测试发现只进行如下字符的转义--\$、\"、\\、)和反引号`,解释后的文本仅按照普通文字处理,即同单引号的处理。


(4)反斜杠(\): 如上所述,反斜杠具有转义的作用。除此之外,其可用于命令换行,并作为echo -e的特殊字符说明,处理时不会将它当成一般文字输出。

(命令换行示例)

(特殊字符处理示例)

特殊字符包括以下字符:

\a 发出警告声; 
\b 删除前一个字符; 
\c 最后不加上换行符号; 
\f 换行但光标仍旧停留在原来的位置; 
\n 换行且光标移至行首; 
\r 光标移至行首,但不换行; 
\t 插入tab; 
\v 与\f相同; 
\ 插入\字符; 

\nnn 插入nnn(八进制)所代表的ASCII字符。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值