Shell小技巧(一百零一)Shell特殊字符“?”“$”“{}”

问号-“?”

第一个作用是也是匹配字符,跟“*”不一样的是“?”只匹配1个字符。

另一个作用就是测试操作。

例如:

$?  获取文件执行或者命令执行的返回状态值

返回0是正常。非零是异常。

 

“$”

第一个作用是表示变量。

例如:

$a  名为a的变量

${a}  名为a的变量,大多数情况{}可省略,但是这种写法更加明确,推荐使用。

${}配合还可以完成参数替换。

 

配合其他字符,表示特殊参数

例如:

$@ 表示传递给函数或脚本的所有参数

$* 表示传递给函数或脚本的所有参数

当 $* 和 $@ 不被双引号" "包围时,它们之间没有任何区别,都是将接收到的每个参数看做一份数据,彼此之间以空格来分隔。

但是当它们被双引号" "包含时,就会有区别了:
"$*"会将所有的参数从整体上看做一份数据,而不是把每个参数都看做一份数据。
"$@"仍然将每个参数都看作一份数据,彼此之间是独立的。

$$ 进程 ID 变量.这个$$变量保存运行脚本进程 ID

 

大括号-"{}"

第一个作用是其内逗号分隔的部分,配合括号外的命令完成命令操作。

例如:

cat {1.txt,2.txt,3.txt } > a123.txt

cp a123.{txt,backup}

 

代码块

被“{}”扩起来的代码,有一定限制作用。在其中间生辰的变量仅在括号中使用。括号内可以使用括号外的变量。

 

在{}结构中代码的I/O重定向。

第一对{},从文件t102.sh读取两行内容

第二对(),echo输出的4行内容,写入t102文件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

乐大师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值