shell

元字符(Shell 的保留字符)

转义字符

名称 含义
$# 传给脚本的参数个数(不包括 $0)
$0 脚本本身的名字(全局的,在函数中也是脚本的名称)
$N 传递给该脚本的第 N 个参数
$@ 传给脚本的所有参数的列表(不包括 $0)
$* 同 $@,但以一个单字符串显示传给脚本的所有参数(使用空格作为分隔符,可重新定义 IFS 变量,修改为其它分割符)
$$ 脚本运行的当前进程 ID 号
$! 后台运行的最后一个进程的 ID 号
$? 显示最后命令的退出状态,0表示执行成功,其他表示有错误
$- 显示 Shell 使用的当前选项

以上变量均是缩写,也可加上 {} 写为 ${varname}。

文件比较符

-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-c 判断对象是否存在,并且为字符设备文件
-b 判断对象是否存在,并且为块设备文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新  [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧  [ "/data/file1" -ot "/data/file2" ]

逻辑判断运算符

-eq 等于,应用于整型比较 equal;
-ne 不等于,应用于整型比较 not equal;
-lt 小于,应用于整型比较 letter;
-gt 大于,应用于整型比较 greater;
-le 小于或等于,应用于整型比较;
-ge 大于或等于,应用于整型比较;
-a  双方都成立(and) 逻辑表达式 –a 逻辑表达式;
-o  单方成立(or) 逻辑表达式 –o 逻辑表达式;
-z  空字符串;
||  单方成立;
&&  双方都成立表达式。

其它

trap - INT QUIT TSTP
  这行代码用于设置信号处理方式。trap 命令用于在 Shell 脚本中捕获和处理信号,这里的 - INT QUIT TSTP 表示忽略 INT、QUIT 和 TSTP 信号,这些信号通常是由用户在终端上按下某些键触发的。

set start
  这行代码将 Shell 的参数 $1 设置为 start。

Reference

https://blog.csdn.net/weixin_48006170/article/details/111830132
https://mp.weixin.qq.com/s/G00xHGqNi2GG9zOLICQVEw
https://mp.weixin.qq.com/s/cd7EuvVUDzgkVQeZis5DSQ
https://mp.weixin.qq.com/s/2z0tm6tepsrTsVjzcjXhlg
https://mp.weixin.qq.com/s?__biz=MzI2OTA3NTk3Ng==&mid=2649286427&idx=2&sn=ba99df580b5311ca98889de7c34eea99

posted @ 2022-06-18 13:56  Ma-ZhiQiang  阅读(17)  评论(0编辑  收藏  举报