[ -a FILE ]
[ -b FILE ]
[ -c FILE ]
[ -d FILE ]
[ -e FILE ]
[ -f FILE ]
[ -g FILE ]
[ -h FILE ]
[ -k FILE ]
[ -p FILE ]
[ -r FILE ]
[ -s FILE ]
[ -t FD ]
[ -u FILE ]
[ -w FILE ]
[ -x FILE ]
[ -O FILE ]
[ -G FILE ]
[ -L FILE ]
[ -N FILE ]
[ -S FILE ]
if ! [ -z "$data" ]; then
xxxxx
fi
当data变量不是一个空字符串的时候,执行 xxxxx
[ -z "xxx" ] 的用处是判断 "xxx" 是否为空字符串,加上 ! 就是取“否”的意思。 所以连起来就是当 "$data" 非空时执行if语句。
[ FILE1 -nt FILE2 ]
[ FILE1 -ot FILE2 ]
[ FILE1 -ef FILE2 ]
[ -o OPTIONNAME ]
[ -z STRING ]
[ -n STRING ] or [ STRING ]
[ STRING1 == STRING2 ]
[ STRING1 != STRING2 ]
[ STRING1 < STRING2 ]
[ STRING1 > STRING2 ]
[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.