流程控制语句
-
if else语句
-
case 语句
-
while语句
-
until语句
if else 语句
if 条件
then
命令
fi
if 条件
then
命令
else
命令
fi
可以将if语句放入一行中书写
if 条件;then 命令;fi
if 条件
then
命令
elif 条件2
then
命令2
elif 条件3
then
命令3
else
命令N
fi
if 条件的退出状态
大多数情况0代表成功;非0代表失败
shell内置命令test
- 对整数进行比较测试
- 对字符串
- 对文件测试
检测某个命令是否成立,功能与单个[]
作用相同,
整数 比较
if test 数字1 option 数字2
then
...
fi
&&
只能用在双括号中;
case语句
适用于分支较多的语句
case 值 in
匹配模式1)
命令1
命令2
;;
匹配模式2)
命令1
命令2
;;
支持简单的正则化表达式通配符;
格式 | 说明 |
---|---|
* | 表示任意字符串 |
[abc ] | 表示范围中的任意一个 |
[m-n] | 表示从m-n中任意的一个字符; |
| | 表示多重选择,类似或运算, |
#!/bin/bash
read -p "请输入一个数字" data
case $data in
1)
echo "星期一"
;;
2)
echo "星期二"
;;
3)
echo "星期三"
;;
4)
echo "星期4"
;;
5)
echo "星期五"
;;
6)
echo "星期六"
;;
7|0)
echo "星期天"
;;
*)
echo "星期一"
;;
esac
循环流程控制语句while
语法
while 条件
do
命令一
命令2
...
continue;
break;
done
一行写法
while 条件;do 命令;done;
无限循环
while :
do
command
done
#或则
while true
do
command
done
until 语句,直到什么为止,也是一个循环结构
也是循环结构,与while循环在处理方式上相反 ,循环条件为false时候会一直循环,条件为true时候会停止循环
until 条件
do
命令
done
如果返回值为1(代表false),继续执行循环体结构,否则跳出循环;
for 循环
#多行写法
for var in item1 item2 ...
do
命令1
命令2
...
done
#一行写法
for var in item1 item2 ... ;do 命令1 ;命令2;...;done;
for var in {start .. end}
do
命令
done
for ((i=1;i<结束值;i++))
do
命令
done
#无限循环
for ((;;))
select语句
进行菜单选择输入,可以增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行对应的功能,shell语言独有的一种循环,适合终端交互
select var in menu1 menu2 ...
do
命令
done
select 是无限循环的死循环,输入空值(无效值),都不会结束循环,只有遇到break ,或则按下ctrl+D才能结束循环;
#!/bin/bash
echo "您的爱好是什么"
select hobby in "编程" “youxi ” "篮球"
do
echo $hobby
break
done
echo
标签:语句,控制,do,流程,echo,命令,循环,done
From: https://blog.51cto.com/u_16182563/8329086