-eq:测试两个整数是否相等;相等为真,不等为假 -ne:测试两个整数是否不等;不等为真,相等为假 -gt:测试一个数是否大于另一个数;大于为真,否则为假 -lt:测试一个数是否小于另一个数;小于为真,否则为假 -ge:大于或等于 -le:小于或等于
-e FILE:测试文件是否存在 -f FILE:测试文件是否为普通文件 -d FILE:测试指定路径是否为目录 -r FILE:测试当前用户对指定文件是否有读权限 -w FILE:测试当前用户对指定文件是否有写权限 -x FILE:测试当前用户对指定文件是否有执行权限
$?:上一个命令的执行状态返回值 $#:参数的个数 $*:参数列表;$*会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数 $@:参数列表;$@会将各个参数分开,以"$1" "$2"…"n"的形式输出所有参数 $0:脚本本身名字
=~:正则表达式判断;[[ "$i" =~ ^[0-9]+$ ]] && echo 1;正则表达式和通配符需要使用在"[[ ]]"中 ==(=):测试两边字符串是否相等,相等为真,不等为假;==(=)两端要有空格,否则系统会认为是变量赋值 !=:测试两边字符串是否不等,不等为真,相等为假 >:测试大于 <:测试小于 -n string:测试指定字符串是否为不空,不空则真,空则假 [ -n "$X" ] -z string:测试指定字符串是否为空,空则真,不空则假
-a:与关系 -o:或关系 !:非关系 非(A 且 B) = (非 A) 或 (非 B) 非(A 或 B) = (非 A) 且 (非 B)
原文:https://www.cnblogs.com/dongzhanyi123/p/12027926.html