文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>test命令在IF语句的控制!

test命令在IF语句的控制!

时间:2009-02-26  来源:linuxboy823

  1.字符串测试 string1 = string2 string1等于string2(=两侧必须有空格) string1 != string2 string1不等于string2(!=两侧必须有空格) string (string不为空) -z string (string的长度为0) -n string (string的长度不为0) 例子: test -n $word test tom = sun   2.整数测试: int1 -eq int2 int1等于int2 int1 -ne int2 int1不等于int2 int1 -gt int2 int1大于int2 int1 -ge int2 int1大于或等于int2 int1 -lt int2 int1小于int2 ini1 -le int2 int1小于或等于int2 3.逻辑测试: expr1 -a expr2 逻辑与 expr1 -o expr2 逻辑或 !expr  逻辑非 4.文件测试: -b file 当file存在并且是块文件返回为真 -c file 当file存在并且是字符文件返回为真 -d pathname 当pathname存在并且是一个目录返回为真 -e pathname 当由pathname指定的文件或目录存在时候返回为真 -f file 当file存在并且是正规文件的时返回真 -g pathname 当由pathname指定文件或目录存在并且设置了SGID位时返回为真 -h file 当file存在并且是符号连接文件时候返回真,该选项在一些老系统中无效 -k pathname 当由pathname指定的文件或目录存在并且设置了“粘滞”位sticky时返回真 -p file 当file存在并且是命名管道的时候返回真 -r pathname 当由pathname指定的文件或目录存在并且可读时返回真 -s file 当file存在并且大小大于0时返回真 -u pathname 当由pathname指定的文件或目录存在并且设置了SUID位时返回真 -w pathname 当由pathname指定的文件或目录存在并且可写时返回真 -x pathname 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了他的内容被访问必然是可执行的 -O pathname 当由pathname指定的文件或目录存在并且被当前进程的有效用户ID所指定的用户拥有时返回真(可以理解为这个文件或目录存在而且属于当前用户文件) -G pathcname 当由pathname指定的文件或目录存在并且被当前进程的有效用户组ID所指定的用户拥有时返回真(可以理解为这个文件或目录存在而且属于当前用户所属组文件)   下面是一个脚本的实例:

#!/bin/bash
if [ -d /root/shell ];
then
touch /root/shell/out.txt
echo "test">>out.txt
else
echo "nothing is anything!"
fi

if [ -f /root/shell/out.txt ]
then
echo "out.txt is there">>out.txt
fi

PATHNAME=/root/shell/if.sh
if [ -u $PATHNAME ]
then
echo "$PATHNAME is has a root UID"
else
echo "$PATHNAME is has not a root UID"
fi

if [ -g $PATHNAME ]
then
echo "$PATHNAME is has a root GID"
else
echo "$PATHNAME is has not a root GID"
fi

if [ -g $PATHNAME -a -u $PATHNAME ]
then
echo "$PATHNAME is has a root GID and UID"
else
echo "$PATHNAME is has not a root GID or UID"
fi

if [ -g $PATHNAME -o -u $PATHNAME ]
then
echo "$PATHNAME is has a root GID or UID"
else
echo "$PATHNAME are has not a root GID or UID"
fi

if [ -z $PS3 ]
then
echo "PS3 is null"
else
echo "PS3 is $PS3"
fi

if [ -O $PATHNAME ]
then
echo "the owner is root"
else
echo "the FILE owner is not root"
fi

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载