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

shell 逻辑表达式汇总(if,大小比较)

2016-03-11 15:49 519 查看

linux shell 中 if 、大小比较 逻辑表达式

比较字符串、判断文件是否存在及是否可读等,通常用”[]”来表示条件测试

注意:这里的空格很重要。要确保方括号的空格:空格缺少或位置不对,

if ....; then
....
elif ....; then
....
else
....
fi


命令解释:

[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真


大小比较:

-eq 比较两个参数是否相等(例如,if [ 2 –eq 5 ])
-ne 比较两个参数是否不相等
-lt 参数1是否小于参数2
-le 参数1是否小于等于参数2
-gt 参数1是否大于参数2
-ge 参数1是否大于等于参数2
-f  检查某文件是否存在(例如,if [ -f "filename" ])
-d  检查目录是否存在
-n  当串的长度大于0时为真(串非空)(例如 if [ -n "str1" ])
-z  当串的长度为0时为真(空串)    (例如 if [ -z "str1" ])


复杂逻辑判断:

-a         与
-o         或
!        非


本文出自“heivy”的博客,转载请务必保留此出处:/article/9894397.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: