欢迎访问宙启技术站
智能推送

bash的算术运算和条件测试语句

发布时间:2023-05-16 18:15:42

Bash的算术运算和条件测试语句

Bash作为一种很流行的Shell脚本语言,在日常的脚本编写中,算术运算和条件测试语句是很常见的。为了更加高效地编写脚本,我们需要掌握Bash的常用算术运算和条件测试语句。

一、算术运算

Bash支持多种算术运算符,包括加减乘除等。下面我们来逐一介绍。

1. 加法运算

格式:$((a+b))

示例:

a=5
b=10
result=$((a+b))
echo $result

2. 减法运算

格式:$((a-b))

示例:

a=5
b=3
result=$((a-b))
echo $result

3. 乘法运算

格式:$((a*b))

示例:

a=5
b=3
result=$((a*b))
echo $result

4. 除法运算

格式:$((a/b))

示例:

a=9
b=3
result=$((a/b))
echo $result

5. 取余运算

格式:$((a%b))

示例:

a=9
b=4
result=$((a%b))
echo $result

6. 自增自减运算

格式:

let a++
let a--

示例:

a=3
let a++
echo $a
let a--
echo $a

二、条件测试语句

条件测试语句是编写Bash脚本中不可或缺的一部分,可以根据条件的成立与否,决定程序的执行流程。Bash支持多种条件测试语句,包括if语句、case语句、test命令等,下面我们分别介绍。

1. if语句

if语句用来测试一个条件,若条件成立,则执行一些操作,否则执行另一些操作。

格式:

if [ condition ]; then
    command1 
else
    command2 
fi

示例:

age=18 
if [ $age -ge 18 ]; then
    echo "你已经成年了" 
else
    echo "你还未成年" 
fi

2. case语句

case语句用于测试变量等于不同的值时所执行的不同命令。

格式:

case variable in 
    pattern1) command1 ;; 
    pattern2) command2 ;; 
    pattern3) command3 ;; 
    *) default command ;; 
esac

示例:

fruit="apple"
case $fruit in
    apple) echo "这是苹果";;
    banana) echo "这是香蕉";;
    cherry) echo "这是樱桃";;
    *) echo "未知的水果";;
esac

3. test命令

test命令用来测试条件是否成立,返回0表示条件成立,返回1表示条件不成立。

格式:

test condition

test命令支持多种条件测试,包括:

- 数字比较:-eq,-ne,-lt,-le,-gt,-ge

- 字符串比较:=,!=,-z,-n

- 文件测试:-e,-f,-d,-r,-w,-x

示例:

a=5
if test $a -eq 5; then
    echo "条件成立"
fi

本文介绍了Bash的常用算术运算和条件测试语句。了解这些语句能够帮助我们更加高效地编写Bash脚本,提高工作效率。