测试

[

Linux中经常使用[来进行测试,[test的符号链接。[是一个应用程序,需要注意的是[必须被空格包围,否则将会报错。

$ [ 1 == 1 ] && echo 2
2

if-else

if [...]then 需要在不同行,但是可以使用;来分离他们。

if [ ... ]
then
    # if-code
else
    # else-code
fi
if [ ... ]; then
    # if-code
fi
if [ ... ]; then
    # code
elif [ ... ]; then
    # code
else
    # code
fi

&& 和 ||

cmd1 && cmd2:当cmd1正常结束时,执行cmd2
cmd1 || cmd2:当cmd1发生错误时,执行cmd2

$ [ 1 == 1 ] && echo "1 equal 1"
1 equal 1
$ [ 1 != 1 ] || echo "1 equal 1"
1 equal 1

case

#!/bin/sh
echo "Please type something in..."
while :
do
    read INPUT_STRING
    case $INPUT_STRING in
        hello)
            echo "Hello yourself"
            ;;
        bye)
            echo "See you again"
            break
            ;;
        *)
            echo "Sorry, I dont understand"
            ;;
    esac
done

运算符

运算符 解释 示例
-eq 数值等于 [ "$foo" -eq "9" ]
-ne 数值不等于 [ "$foo" -ne "9" ]
-lt 小于 [ "$foo" -lt "9" ]
-le 小于等于 [ "$foo" -le "9" ]
-gt 大于 [ "$foo" -gt "9" ]
-ge 大于等于 [ "$foo" -ge "9" ]
-z 字符串长度为0 [ -z "$foo"]
-n 字符串长度不为0 [ -n "$foo" ]
-nt 更新(newer than) [ "file2" ]
-d 是目录 [ -d /bin]
-f 是文件 [ -f /bin/ls]
-r 可读 [ -r /bin]
-w 可写 [ -w /bin]
-x 可执行 [ -x /bin]

你可能感兴趣的:(测试)