shell 引号

本文深入探讨了Shell命令行中的反斜线、单引号、双引号和反引号的使用技巧,详细解释了它们如何改变命令行的解析方式,以及如何用于字符串处理和命令重组,是Linux/Unix系统管理员和开发者提升效率的实用指南。

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

1.反斜线

  a.能将紧随其后的单个字符视为字面意义上的字符

  b.在命令的最后使用 \ 回车,能够屏蔽提交功能,从而实现命令的多行输入

    例: 

[root@VM_0_3_centos ~]# echo \*
*
[root@VM_0_3_centos ~]# echo \>
>
[root@VM_0_3_centos ~]# find /\
> -name "test.txt"\
> -type f \
> -size +5M
find: ‘/-name’: No such file or directory
find: ‘test.txt-type’: No such file or directory
find: ‘f’: No such file or directory

2.单引号

  a.单引号将中间的所有任意字符还原为字面意思,屏蔽shell元字符的功能,单引号必须成双存在。

[root@VM_0_3_centos ~]# echo $HOME
/root
[root@VM_0_3_centos ~]# echo '$HOME'
$HOME

3.双引号

  a.类似于单引号,但是不会屏蔽 、\  $ 这三个字符。如果需要屏蔽这些字符的含义,需要在前面加入\

[root@VM_0_3_centos ~]# age=18
[root@VM_0_3_centos ~]# echo "the age of xiaoming is $age years old"
the age of xiaoming is 18 years old
[root@VM_0_3_centos ~]# echo "the age of xiaoming is \$age years old"
the age of xiaoming is $age years old

4.反引号

  a.用法与$()类似,都是用来重组命令行的,先完成引号里的命令行,然后将其结果替换出来,再重组成新的命令行,但也有不同。

    1. 反引号齐本身就对\进行了转义,保留了齐本身意思,如果我们想在反引号中起到\的特殊意义,我们必须使用2个\来进行表示。

      所以我们可以简单的想象成反引号中: \\ = \

    2. $()中则不需要考虑\的问题,与我们平常使用的一样:\ = \

[root@VM_0_3_centos ~]# echo `echo \\\\\\\w`
\\w
[root@VM_0_3_centos ~]# echo $(echo \\\\\\\w)
\\\w

 

转载于:https://www.cnblogs.com/icase/p/11118935.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值