Linux脚本中的 test 命令

在阅读 shell 脚本中,经常回遇到如下的语句:


PID=`pwd`/server.pid
start()
{
echo 'to start server at ' `date` >> $LOG
if test -e $PID //判断$PID文件是否存在,存在就表示已经启动,不存在就开启此服务
        then
                echo
                echo The $SERVER_NAME Server already Started!
                echo
        else
                echo
                echo Start The $SERVER_NAME Server....
                ......
fi
}

test 命令最短的定义可能是评估一个表达式;如果条件为真,则返回一个 0 值。如果表达式不为真,则返回一个大于 0 的值 — 也可以将其称为假值。


使用方式:test 测试条件 参数

其中,测试条件有:

-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 如果文件可执行,则为真


你可能感兴趣的:(Linux脚本中的 test 命令)