关于read的例子和条件测试

1.关于read比较两个的大小

#!/bin/sh
read -t 10 -p "please input two num:" a b
if [ $a -gt $b ]; then
    echo "yes $a > $b"
elif [ $a -eq $b ];then
    echo "yes $b == $a"
else
    echo "yes $a < $b"

fi

 2.测试语句

  •    条件测试语法

             语法:test <测试表达式>

                       [<测试表达式>]   经常用

                       [[<测试表达式>]]

             例子:判断file文件是否存 在,存在输出1,不存在输出0

                       test -f file && echo 1 || echo 0  

                       [ -f file  ] && echo 1 || echo 0        

                       [ -f file -a -d folder ] && echo 1 || echo 0

                       [[ -f file ]] && echo 1 || echo 0

                       [[ -f file && -d folder ]] && echo 1 || echo 0

                       注意:[] 里面不能用&& 用-a 代替

                     

  • 文件测试操作符

           -f   文件存在且为普通文件则为真

           -d  文件存在且为目录文件则为真

           -s  文件存在且不为空,则为真

           -e 文件存在则为真

           -r 文件存在且为可读,则为真

           -x 文件存在且为执行文件,则为真

           -w  文件存在且为可写文件,则为真

           -L 文件存在且为链接文件,则为真

           f1 -nt f2 f1 文件比f2文件新,则为真

           f1 -ot f2 f1 文件比f2文件旧,则为真

  • 字符串测试操作符

           -z "string"   若字符串的长度为0则为真

           -n "string" 若字符串的长度不为0则为真

           "string1"="string" 若string1等于string2则为真

           "string1"!="string2" 若string1不等于string2则为真

  • 整数二元比较操作符

         []            [[]]或(())

         -eq         ==

         -ne          !=

         -gt           >

         -ge          >=

         -lt            <

         -le           <=

        

原文地址:https://www.cnblogs.com/y15821933792/p/7446243.html