Shell编程脚本中常用符号的含义

Shell编程脚本中常用符号的含义

$0

表示脚本文件名
$1, $2, ……

表示具体的参数
$$

表示当前shell的进程pid
$!

Shell最后运行的后台进程的PID
$#

表示实际传入参数的个数
#$?

表示上一次执行的返回值,一般0表示成功
$@, $*,"$@","$*"

表示shell脚本接受的参数列表,不包括$0

$*,$@一样,都是传递整个参数列表,
但是当被""引用时,
$@不变,为多个字符串,
而$*为一个字符串,并且如果这个参数列表为空,则字符串为空字符串,而非不存在
$ 后面加变量表示引用这个变量的值
$var
$command
& 放在启动参数后面表示设置此进程为后台进程
command var1 var2 &
command > /dev/null 2>&1

该语句的函数就是将标准输出和标准错误输出重定向到伪设备/dev/null, 它的作用就是执行某个命令将不会有任何日志输出。
>&2 

也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某file文件,那么标准输出也重定向到这个file文件。
其中&的意思,可以看成是“The same as”、“与...一样”的意思
readonly 

用来定义只读变量
source

使Shell读入指定的Shell程序文件并依次执行文件中的所有语句
source 与 bash 的区别

source 在当前进程中执行,bash 启用新的进程执行
默认情况下,shell进程都是串行执行(即使通过 bash 启动新的进程,也会串行执行)
通过将shell设置为后台执行,可以实现shell的并发
下表列出了常用的字符串运算符,假定变量 a 为 "abc",变量 b 为 "efg":
运算符说明举例
=检测两个字符串是否相等,相等返回 true。[ $a = $b ] 返回 false。
!=检测两个字符串是否相等,不相等返回 true。[ $a != $b ] 返回 true。
-z检测字符串长度是否为0,为0返回 true。[ -z $a ] 返回 false。
-n检测字符串长度是否为0,不为0返回 true。[ -n $a ] 返回 true。
str检测字符串是否为空,不为空返回 true。[ $a ] 返回 true。
[ -z "$pid" ]  
单对中括号变量必须要加双引号

[[ -z $pid ]]   
双对括号变量不用加双引号

参考

Shell—关于source,Bash如何执行
shell编程之脚本参数
shell脚本-n -z的含义解析
commond > /dev/null 2>&1 命令详解
shell字符串运算符= != -z -n str的介绍和使用
【shell】shell中各种括号的作用

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值