以文件的属性 做if条件。比如,常规文件:
[ -f file ]
测试的 条件 分为三种:字符串,文件和计算。下面是操作手册 文档的一部分:
if 条件 文件:
-e:如果文件存在,返回true。
-s:如果文件不为空,返回true。
测试文件的类型:
文件权限:
文件1 比 文件2新:
[ file1 -nt file2 ]
找 硬链接, 用-ef比较两个文件。
if 字符串 条件:
= !=
-z:为空
-n:不为空
if 数学 相关条件
=只比字符串;-eq 比数字
case
case 比较字符串;可以使用正则表达式。
1.被比较的字符串 以 )结尾;
2.以 ;; 结束,然后直接跳到 esac。
用 | 可以表示 多个字符串;* 和 ? 都是正则。
for 循环
例子:
for in do done 都是关键字。
while 循环
while 使用了 退出码,和 if 语句相似。
例子:
grep -q firstline 的退出码 就是条件。退出码 不是0 的时候,循环就退出了。
如果使用到了while,不妨考虑使用语言,比如 PYTHON。