shell
元字符(Shell 的保留字符)
![](https://img2022.cnblogs.com/blog/1450831/202211/1450831-20221126001605158-1090876782.png)
转义字符
名称 | 含义 |
---|---|
$# | 传给脚本的参数个数(不包括 $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