Shell 数组
Shell test 命令 

Shell 运算符

在 Shell 编程中,运算符是用于执行各种操作的特殊符号或关键字。这些运算符可以用于数学计算、逻辑比较、字符串操作等。下面是一些常见的 Shell 运算符及其用法:


算术运算符:

+, -, *, /, %:分别表示加法、减法、乘法、除法和取模运算。

a=10
b=5
echo "a + b = $((a + b))"
echo "a - b = $((a - b))"
echo "a * b = $((a * b))"
echo "a / b = $((a / b))"
echo "a % b = $((a % b))"


关系运算符:

==, !=, -eq, -ne, -lt, -gt, -le, -ge:用于比较两个数值或字符串是否相等、不相等,或者大小关系。

  • ==      等于

  • !=       不等于

  • -eq     等于

  • -ne     不等于

  • -lt       小于

  • -gt      大于

  • -le       小于等于

  • -ge     大于等于


a=10
b=5
if [ $a -eq $b ]; then
    echo "a is equal to b"
fi
if [ $a -gt $b ]; then
    echo "a is greater than b"
fi


逻辑运算符

!, -a (and), -o (or):用于执行逻辑非、与和或运算。

  • !        逻辑非

  • -a      逻辑与

  • -o     逻辑或

age=25
if [ $age -gt 18 -a $age -lt 30 ]; then
    echo "Valid age"
fi


字符串运算符:

=, !=, -z (判断字符串长度是否为0), -n (判断字符串长度是否不为0):用于比较字符串是否相等、不相等,或者检查字符串长度。

  • =    两字符串相等

  • !=   两字符串不相等

  • -z  字符串长度为0

str1="hello"
str2="world"
if [ $str1 = $str2 ]; then
    echo "Strings are equal"
fi


文件测试运算符:

-e (文件或目录是否存在), -f (是否为普通文件), -d (是否为目录), -r (是否可读), -w (是否可写), -x (是否可执行):用于检查文件或目录的各种属性。

file="sample.txt"
if [ -e $file ]; then
    echo "File exists"
fi


这些是 Shell 脚本中常用的一些运算符,它们能够帮助你执行各种操作,从简单的数学运算到复杂的条件判断和文件操作。