在 Shell 脚本中,大于、小于等比较符号通常用于条件判断。以下是一些常见的比较符号及其用法:
-
整数比较:
-eq
:等于 equal-ne
:不等于 not equal-lt
:小于 less than-le
:小于或等于 less than or equal to-gt
:大于 greater than-ge
:大于或等于 greater than or equal to
示例:
a=5 b=10if [ $a -lt $b ]; thenecho "$a 小于 $b" fiif [ $a -gt $b ]; thenecho "$a 大于 $b" fi
-
字符串比较:
=
:等于!=
:不等于<
:小于(需要在[[ ]]
中使用)>
:大于(需要在[[ ]]
中使用)
示例:
str1="hello" str2="world"if [ "$str1" = "$str2" ]; thenecho "字符串相等" elseecho "字符串不相等" fiif [[ "$str1" < "$str2" ]]; thenecho "$str1 小于 $str2" fiif [[ "$str1" > "$str2" ]]; thenecho "$str1 大于 $str2" fi
-
文件比较:
-e
:文件存在-f
:文件存在且是普通文件-d
:文件存在且是目录-r
:文件可读-w
:文件可写-x
:文件可执行
示例:
file="/path/to/file"if [ -e "$file" ]; thenecho "文件存在" fiif [ -d "$file" ]; thenecho "这是一个目录" fiif [ -f "$file" ]; thenecho "这是一个普通文件" fi