美文网首页红帽运维
Linux的shell中 if 的-e,-d,-f的说明

Linux的shell中 if 的-e,-d,-f的说明

作者: Kan_shan | 来源:发表于2019-05-24 13:39 被阅读0次
    wallhaven-478940.jpg
    • 文件比较运算符 if [参数]

    For example

    if [ -e /etc/systemd/system/getty@tty1.service.d ]
    then
        echo "login file is exist"
    else
        mkdir "/etc/systemd/system/getty@tty1.service.d"
    fi
    
    序号 参数 说明
    1 -e filename 如果 filename存在,则为真
    2 -d filename 如果 filename为目录,则为真
    3 -f filename 如果 filename为常规文件,则为真
    4 -L filename 如果 filename为符号链接,则为真
    5 -r filename 如果 filename可读,则为真
    6 -w filename 如果 filename可写,则为真
    7 -x filename 如果 filename可执行,则为真
    8 -s filename 如果文件长度不为0,则为真
    9 -h filename 如果文件是软链接,则为真
    10 file1 -nt file2 如果 file1比 file2新,则为真
    1 file1 -ot file2 如果 file1比 file2旧,则为真
    • 整数变量表达式if [参数]
    序号 参数 说明
    1 -eq 等于
    2 -ne 不等于
    3 -gt 大于
    4 -ge 大于等于
    5 -lt 小于
    6 -le 小于等于
    • 字符串变量表达式 if [参数]
    序号 参数 说明
    1 $a=$b 如果string1等于string2,则为真
    2 $string1 != $string2 如果string1不等于string2,则为真
    3 -n $string 如果string 非空(非0),返回0(true)
    4 -z $string 如果string 为空,则为真
    5 $sting 如果string 非空,返回0 (和-n类似)
    6 ! 表达式 条件表达式的相反[逻辑非]
    7 表达式1 –a 表达式2 条件表达式的并列[逻辑与]
    8 表达式1 –o 表达式2 条件表达式的或[逻辑或]
    • 特殊变量 if [参数]
    序号 参数 说明
    1 $0 当前脚本的文件名
    2 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1,第二个参数是2
    3 $# 传递给脚本或函数的参数个数
    4 $* 传递给脚本或函数的所有参数
    5 $@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同
    6 $? 上个命令的退出状态,或函数的返回值
    7 $$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID
    8 $! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)

    相关文章

      网友评论

        本文标题:Linux的shell中 if 的-e,-d,-f的说明

        本文链接:https://www.haomeiwen.com/subject/uqtgzqtx.html