Shell中常见的特殊字符意义

特殊字符

1:星号(*)和问号(?)一般用作通配符,可以用来匹配文件名字,“*”匹配任意多个字符,
“?”匹配任意一个字符。


2:冒号(:)表示空命令(NOP no-op),因其返回值恒为 0,在循环条件中,可与 true 命令等价。

3:分号(;)是分行符,可以表示一行命令结束,可用分号将多条命令写在一行中。如图
所示,3 条命令用分号隔开写在同一行,Shell 依然能正确识别并执行。


                                                       一行多条命令

4:美元符($)用于取值,根据其后的不同结构,可以取变量或表达式的值。
${var}和$var 均是取变量 var 的值,不同之处在于使用大括号({})可以当变量作为在一
个字符串的一部分的时候,变量名不会和字符串内容混淆。所以需要在一个字符串中取变量
值的时候,应该尽量使用大括号({})明确指定那些字符是变量名称的组成部分。比如现在有
var 和 vare 两个变量,在特定字符串中使用时,就可能会有不同的解释。如图 所示。


                                            避免变量名混淆
$()可以取一个命令的值作为字符串内容,与反引号(` `)含义相同。
$(())可以取一个数学表达式的值,比如在(())中使用“**”运算符计算一个乘方,如图所示,2 10 的值就是 1024。

 
                                               取数学表达式值

5:句点(.),等效于 source 命令。
6:反斜线(\)是转义符,是一种引用单个字符的方法,一个具有特殊含义的字符前加上转义
符就是告诉 Shell 该字符失去了特殊含义。
空格本来被视作单词边界,以 touch 这样可以同时接受多个单词做参数的命令为例,
“touch a b”空格分隔了 a 和 b 两个参数,该命令将会创建文件名为 a 和 b 的两个文件,而
“touch c\ d”则只会创建一个文件,文件名为“c d”(字母 c 和 d 之间包含一个空格)。实际
操作如图所示。


                                               转义字符示例
一般情况下,Shell 命令是不能随便跨行的,但是有了转义符,将换行符转义,就可以
实现 Shell 命令的换行,所以也可以用作换行符。实际例子如图 所示,一条 echo 命令
连同字符串一起被多个转义符分隔写在多行上,最后执行结果和全部写在同一行效果相同。

                                                 转义符续行示例

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

#君君#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值