2021-04-09

shell 脚本中常见的 , , ,#,$n…命令?分别代表什么意思?

shell里$有很多意思:


1、$可以表示引用作变量或运算替换,最常见的用法

2、$可作为取变量运算符,如echo $PATH 将会输出PATH 变量的内容

3、a=$((1+2))可将a赋值为3,而不是字符串“1+2”,也就是运算功能

4、a=$(ls /home) 可将括号内命令执行结果赋值给a,有先执行命令的意思

5、登录到shell成功后会在光标左侧发现$,它是命令提示符,代表普通帐号登录,#是代表root帐号登录。

6、在正则表达式中,$是行尾的意思,如"a$"代表以a为行尾的行

7、还有如果你用vi的话,一般模式下,$是光标移到行尾的命令

$的组成式:


$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9 #超过10要用大括号${10}

$* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@ 这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待

$#这个程式的参数个数

$$ 这个程式的PID(脚本运行的当前进程ID号)

$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)

$? 执行上一个指令的返回值 (最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。

$- 显示shell使用的当前选项,与set命令功能相同

$@ 跟$*的用法基本类似,只有在循环中才有差别
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值