参数处理 | 说明 |
---|---|
$# | 传递到脚本的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数。 如”$*”用「”」括起来的情况、以”$1 $2 … $n”的形式输出所有参数。 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参数。 如”$@”用「”」括起来的情况、以”$1” “$2” … “$n” 的形式输出所有参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
条件判断
1 | -a file exists. |
字符串截取
1 | a=abc123abc123 |
选项参数
getopts 和 getopt 的用法
ref:
- https://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html
- https://www.cnblogs.com/tommyjiang/p/10629848.html
1 | # -al |
shell 求差集 并集 交集
ref: https://blog.csdn.net/nwpulei/article/details/38556595
1 | [root@VM_0_13_centos shell-basic]# cat a |
固定时间间隔
每5s执行一次命令:
1 | while true |
此写法很简单,但可能会产生累积误差。
改成如下可自动校正,使每个周期的实际执行时刻和预期执行时刻的偏差保持在0.5s以内(但sleep间隔不宜过小,0.1到1之间,0.5左右即可,越小CPU负载越高):
1 | tperiod=5 |