您的位置:首页 > 运维架构 > Shell

学习 shell —— 条件判断 if 的参数

2017-07-09 18:20 417 查看

1. 文件判断表达式

-e filename:如果 filename 存在(exist),则为真;

-d filename:如果 filename 为目录(directory),则为真;

-f filename:如果 filename 为常规文件,则为真;

-L filename:如果 filename 为符号链接,则为真;

-r filename:如果 filename 可读,则为真;

-w filename:如果 filename 可写,则为真;-x filename:如果 filename 可执行,则为真;

-s filename:如果文件长度不为 0,则为真;

-h filename:如果文件是软连接,则为真;

filename1 -nt filename2:如果 filename1 比 filename2 新(nt,newer than),则为真;

filename1 -ot filename2:如果 filename1 比 filename2 旧(ot,older than),则为真;

新旧指的是修改日期;

2. 数值比较

-eq:是否等于;-ne:是否不相等;

-gt:是否大于;-ge:是否大于等于;-lt:是否小于;-le:是否小于等于;

3. 字符串判断

if [$string1=$string2]:如果 string1 等于 string2,则为真;在 shell 中字符串允许使用 =(赋值号)做等号;

if [$string1!=$string2]

if [-n $string]:如果 string 非空,则为真;

等价于 if [$string]

if [-z $string]:如果 string 为空,则为真;

4. 逻辑表达式

-a:and,与,if [表达式1 -a 表达式2]

-o:or,或,if [表达式1 -o 表达式2]

!:not,非,if [!-d $num],如果不存在目录 num

references

linux 下shell中if的“-e,-d,-f”是什么意思
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: