LINUX 比较参数(test)

来源:互联网 发布:php this调用private 编辑:程序博客网 时间:2024/05/21 18:43

在这里,首先感谢鸟哥,因为有了他,linux越来越简单



在写shell脚本的时候,经常使用if语句进行判断,下面我给大家总结了一些关于判断的参数:

一、文件类型判断:(除特殊说明外,以下所有例子结果均为redhat6.4默认设置,并且结果均为true

-e 判断文件(目录)是否存在

如:if [ -e /etc/fstab ]; then

                  echo "yes"

        else

                  echo "no"

        fi

大概意思是判断/etc/fstab这个文件是否存在,如果存在返回yes 如果不存在返回no


-f 判断文件是否存在(非目录)

如:if [ -f /etc/fstab ]; then

                  echo "yes"

        else

                  echo "no"

        fi

大概意思是判断/etc/fstab这个文件是否存在,如果存在返回yes 如果不存在或者是目录则返回no


-d 判断目录是否存在(非文件)

如:if [ -d /etc ]; then

                  echo "yes"

        else

                  echo "no"

        fi

大概意思是判断/etc这个目录是否存在,如果存在则返回yes,如果不存或者不是目录则返回no


-b 判断是否是块设备

如:if [ -b /dev/sda]; then

                  echo "yes"

        else

                  echo "no"

        fi

大概意思是判断/dev/sda是否存在且是块设备,如果是则返回yes,如果不是则返回no(注:块设备的基本特征是每个块都能独立于其它块而读写,如:光盘、磁盘、软盘等


-c  判断是否为字符设备

如:if [ -c /dev/tty ]; then

                  echo "yes"

        else

                  echo "no"

        fi


大概意思是判断/dev/tty是否存在且是字符设备,如果是则返回yes,如果不是则返回no(注:字符设备是指在I/O传输过程中以字符为单位进行传输的设备如:键盘,打印机等



-S 判断是否是一个socket文件


-p 判断是否是FIFO文件(先进先出)



二、文件权限判断

-r  判断是否可读

-w 判断是否可写

-x 判断是否可执行

#!/bin/bash
if [ -x /bin/bash ]; then
        echo "yes"
else
        echo "no"
fi

检查/bin/bash文件用户是否含有执行权限,如果有则返回yes,否则为no(这个权限与运行脚本的用户权限有关)

0 0
原创粉丝点击