If语句
demo.sh
示例
#!/bin/bash
a=1
b=2
if [ $a -lt $b ]
then
echo "a<b"
fi
运行效果
个人理解
if [ 条件 ]
then
满足条件运行的语句
fi
c写法进行对比
if ( 条件 )
{
满足条件运行的语句
}
if else
demo.sh
示例
#!/bin/bash
a=2
b=1
if [ $a -lt $b ]
then
echo "a<b"
else
echo "a>=b"
fi
运行效果
个人理解
if [ 条件 ]
then
满足条件时执行的语句
else
不满足条件时执行的语句
fi
c写法进行对比
if [ 条件 ]
{
满足条件时执行的语句
}
else
{
不满足条件时执行的语句
}
if else-if else
demo.sh
示例
#!/bin/bash
a=1
b=1
if [ $a -lt $b ]
then
echo "a<b"
elif [ $a -gt $b ]
then
echo "a>b"
else
echo "a=b"
fi
运行结果
for循环
- 写法一
demo.sh
示例
#!/bin/bash
for num in 1 2 3 4 5
do
echo "This is: $num"
done
- 写法二
demo.sh
示例
#!/bin/bash
for((i=1;i<=4;i++))
do
echo $i
done
while循环
demo.sh
示例
#!/bin/bash
int=1
while(( $i<5 ))
do
echo $int
let "i++"
done
let
命令在shell中是用于指定算术运算,但是运算的时候变量无需$
符号
运行结果
个人理解
while(( 条件 ))
do
命令
done
无限循环
- 写法一
while :
do
操作
done
- 写法二
while true
do
操作
done
- 写法三
for (( ; ; ))
常用于等待键盘输入
demo.sh
示例
echo '按下ctrl c退出'
echo -n '输入 '
while read str
do
echo "你输入的是$str"
done
case语句
demo.sh
示例
echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read str
case $str in
1) echo '你选择了 1'
;;
2) echo '你选择了 2'
;;
3) echo '你选择了 3'
;;
4) echo '你选择了 4'
;;
*) echo '你没有输入 1 到 4 之间的数字'
;;
esac
运行案例
个人理解
case 值 in
值1) 执行语句1
;;
值2) 执行语句2
;;
值3) 执行语句3
;;
值4) 执行语句4
;;
*) 执行语句5
;;
esac
java的对照写法
switch(值){
case 值1:
执行语句1
break;
case 值2 :
执行语句2
break;
default :
执行语句3
}
break命令
简单说break命令就是跳出当前的整个循环
demo.sh
示例
#!/bin/bash
while :
do
echo -n "输入 1 到 5 之间的数字:"
read aNum
case $aNum in
1|2|3|4|5) echo "你输入的数字为 $aNum!"
;;
*) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
break
;;
esac
done
运行结果
continue
简单理解就是跳出当前的这一次循环,进行下一次循环
demo.sh
示例
#!/bin/bash
while :
do
echo -n "按下ctrl c可退出: "
echo -n "输入 1 到 5 之间的数字: "
read str
case $str in
1|2|3|4|5) echo "你输入的数字为 $str!"
;;
*) echo "你输入的数字不是 1 到 5 之间的!"
continue
echo "游戏结束"
;;
esac
done
运行结果