if
if
根据条件执行命令
语法
常用测试表达式
逻辑操作符
-a
:and,逻辑与。现代脚本通常使用 && 代替。-o
:or,逻辑或。现代脚本通常使用 || 代替。
字符串测试操作符
-n
:"not zero"。判断字符串长度大于 0,即字符串不为空。-z
:"zero"。判断字符串长度为 0,即字符串为空。
数值比较操作符
只能比较整数。
-lt
:小于。左侧数值小于右侧数值,返回 true。-gt
:大于。左侧数值大于右侧数值,返回 true。-eq
:等于。左侧数值等于右侧数值,返回 true。-ne
:不等于。当左边的整数和右边的整数不相等时,返回 true。
文件测试操作符
-e
:"exists"。检查文件或目录是否存在。如果文件或目录存在,返回 true。-f
:"file"。判断指定的路径是否为普通文件(既不是目录、设备文件、符号链接等特殊文件类型,也不是不存在的路径)。若路径对应的是普通文件,返回 true。-d
:"directory"。判断指定的路径是否为目录。-h
:"symbolic link"。检查文件是否为符号链接。使用 -L 代替。-L
:"link"。检查文件是否为符号链接。-r
:"readable"。检查文件或目录是否具有可读权限。如果文件或目录存在且当前用户有读取权限,返回 true。-w
:"writable"。检查文件或目录是否具有可写权限。-x
:"executable"。检查文件或目录是否具有可执行权限。