1. 判断
判断语句一般放在[]
中执行,注意,[]
里面左右需要各留一个空格:
[ $var -eq 0 ] # var == 0
[ $var -en 0 ] # var != 0
[ $var -gt 0 ] # var > 0
[ $var -ge 0 ] # var >= 0
[ $var -lt 0 ] # var < 0
[ $var -le 0 ] # var <= 0
[ $var -gt 0 -a $var -lt 1 ] # var > 0 && var < 1
[ $var -lt 0 -o $var -gt 1 ] # var < 0 || var > 1
string的比较与判断:
[[ $str1 == $str2 ]] # str1 == str2
[[ $str1 != $str2 ]] # str1 != str2
[[ $str1 > $str2 ]] # 根据字典序,判断str1 > str2
[[ $str1 < $str2 ]] # 根据字典序,判断str1 < str2
[[ -z $str1 ]] # 假如str为空则返回真
[[ -n $str1 ]] # 假如str非空则返回真
2. 分支
# if语句
if condition
then
commands
fi
#if ... else
if condition
then
commands
elif condition
then
commands
else
commands
fi
注意,if
和elif
与condition
之间要有一个空格。简单的if
语句也可以简写为:
[ condition ] && command # 当condition为真时执行command
[ condition ] || command # 当condition为假时执行command
3. 循环
for循环:
for item in %var
do
command
done
实例:
#! /bin/bash
data=(1,2,3,4)
echo ${data[*]}
OLD_IFS=$IFS
IFS=,
for x in ${data[*]}
do
echo $x
done
IFS=$OLD_IFS
上面的data
声明了一个数组,${data[*]}
代表取数组里面的所有元素。$IFS
是一个环境变量,代表分隔符,我们的数组中分隔符是,
,所以先将其置为,
,等到循环执行完之后再复位
while循环:
while condition
do
commands
done
until循环:
until condition
do
commands
done
网友评论