文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>shell语法之三-----条件

shell语法之三-----条件

时间:2010-11-09  来源:FreedomXura

test或者[]命令 在实际工作中,大多数的脚本程序都会广泛使用 shell的布尔判断命令[]或者test命令。一般来说这两种命令是等效的。 eg1:

test -f <filename> ------检查文件filename是否存在

所以在脚本程序里可以这样写:

if test -f mxh.c
then
...
fi

也可以这样写:

if [ -f mxh.c ]
then
...
fi

上面这两种写法的效果是完全一致的。需要特别注意的是[]命令里面的条件和括号之间必须有左右空格. test命令可以使用的条件可以归纳为3类:字符串比较,算术比较和与文件有关的条件测试。       字符串比较                                  结果       -n string                         如果字符串不为空则结果为真       -z string                         如果字符串为空(null)则结果为真       string1 = string2                 如果2个字符串相同则结果为真       string1 != string2                如果2个字符串不相同则结果为真        算术比较                                   结果        int1 -eq int2                    如果 int1 等于 int2,则为真        int1 -ge int2                    如果 int1 大于或等于 int2,则为真        int1 -gt int2                    如果 int1 大于 int2,则为真        int1 -le int2                    如果 int1 小于或等于 int2,则为真        int1 -lt int2                    如果 int1 小于 int2,则为真        int1 -ne int2                    如果 int1 不等于 int2,则为真        文件条件测试                                结果        -b file                          如果文件为一个块特殊文件,则为真        -c file                          如果文件为一个字符特殊文件,则为真        -d file                          如果文件为一个目录,则为真        -e file                          如果文件存在,则为真        -f file                          如果文件为一个普通文件,则为真        -g file                          如果设置了文件的 SGID 位,则为真        -G file                          如果文件存在且归该组所有,则为真        -k file                          如果设置了文件的粘着位,则为真        -O file                          如果文件存在并且归该用户所有,则为真        -p file                          如果文件为一个命名管道,则为真        -r file                          如果文件可读,则为真        -s file                          如果文件的长度不为零,则为真        -S file                          如果文件为一个套接字特殊文件,则为真        -t fd                            如果 fd 是一个与终端相连的打开的文件描述符(fd 默认为 1),则为真        -u file                          如果设置了文件的 SUID 位,则为真        -w file                          如果文件可写,则为真        -x file 如果文件可执行,则为真  例:vi second.sh

#!/bin/sh 
   if [ -f /bin/bash ]   ---测试是否存在/bin/bash文件
   then
       echo "file /bin/bash exists"
   fi
   


   if [ -d /bin/bash ]  ---测试是否存在/bin/bash目录
   then
      echo "/bin/bash  is a directory"
   else
      echo "/bin/bash is not a directory"
   fi


运行效果:
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载