目录
目录
1. 运算
1.1. 算术扩展表示法
算术扩展符号:``,与expr配合使用
1.1.1. 加减法
#!/bin/bash
i=`expr 2 + 3`
echo i = $i # i = 5
j=`expr 5 - 2`
echo j = $j # j = 3
1.1.2. 乘除法
#!/bin/bash
#乘法
i=3
H=`expr $i \* 3`
echo H = $H # H = 9
#除法
j=`expr $H \/ 3`
echo j = $j # j = 3
1.2. 取值表示法
$(())表示法
1.2.1. 加减法
#!/bin/bash
#加法
H=$((3 + 4))
echo H = $H # H = 7
#减法
H=$(($H - 1))
echo H = $H # H = 6
#扩展
H=$((${i:-3} + 8)) #表示如果i无值就取3,然后加8
echo H = $H # H = 11
1.2.2. 乘除法
#!/bin/bash
#乘法
H=$((3 * 4))
echo H = $H # H = 12
#除法
H=$(($H / 2))
echo H = $H # H = 6
1.3. bc表示法
bc表示法依赖于bc计算器,可以计算浮点数
表达式:echo "[变量定义];[scacle];表达式" | bc
scacle 表示保留的小数点位数
#!/bin/bash
#加法
H=$(echo "r=2; a=3.14; b=2.13;scacle=2;r+a+b" | bc)
echo H=$H # H=7.27
#乘法
H=$(echo "r=2; a=3.14; b=2.13;scacle=2;r*a*b" | bc)
echo H = $H # H = 13.37
1.4 let表示法
#!/bin/bash
#加法
i=0
let "i++"
echo i = $i #i = 1
let "i += 3"
echo i = $i # i = 4
#乘法
let "i *= 2"
echo i = $i # i = 8
#除法
let "i /= 2"
echo i = $i # i = 4
2. 流程控制
2.1. 循环控制
2.1.1. while表示法
#!/bin/bash
#1 冒号与while之间有一个空格。
while :
do
echo “while”
done
#2 while与[之间有空格,[ -- ]两边符号与中间表达式有一个空格。
While [ $i –lt 10 ]
do
echo “while”
done
2.1.2. for表示法
#!/bin/bash
#1.
for day in {1..7}
do
echo ”$day”
done
#2.
week = “Sun Mon Tue Wed Thur Fri Sat”
for day in ${week}
do
echo ${day}
done
#3.for与括号之间有空格,括号与括号之间不能有空格。
for ((n=1;n<10;n++))
do
echo $n
done
2.1.3. until表示法
#!/bin/bash
#.满足条件退出循环
n=10
until [ $n –lt 1 ]
do
echo $n
let “n-=2”
done
2.2. 分支控制
2.2.1. if
#!/bin/bash
a=1
b=5
#1.
if [ $a –lt $b ]
then
echo “a < b”
let "a++"
fi
#2.
if [ $a –lt $b ]
then
echo “a < b”
else
echo “a >= b”
fi
#3.
if [ $a –lt $b ]
then
echo “a < b”
elif [ $x -lt $b ]
then
echo “a >= b”
fi
2.2.2.case
#!/bin/bash
n=1
case $n in
1)
echo “aaaa”;
echo “ccccc”;
echo “dddd”;
;;
2)
echo “bbbb”
;;
esac