Shell脚本until和select in循环语句应用
记录:435
场景:Shell脚本until和select in循环语句应用。
版本:CentOS Linux release 7.9.2009。
1.**until和select in循环语句**格式
1.1**until循环语句**格式
格式:
until condition
do
command
done
解析:符合until的条件时,循环才会跳出。
1.2select in循环语句格式
格式:
select item in item1 item2 ... itemN
do
command
done
解析:使用select in时,需要使用break跳出循环,否则无限循环。
select in循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。比较适合命令行终端(Terminal)交互场景。
2.使用**until循环语句**
2.1脚本
脚本名称:b2023052821.sh
脚本内容:
#!/bin/bash
echo '请输入你喜欢的城市名称:'
echo '需要结束时,输入EOF.'
city_name=''
until [[ ${city_name} = "EOF" ]]
do
read city_name
if [[ ${city_name} = "EOF" ]];then
echo "你已输入: ${city_name},结束操作."
else
echo "你喜欢的城市: ${city_name}"
echo '请输入其它你喜欢的城市名称:'
fi
done
2.2执行与输出
执行命令:bash b2023052821.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052821.sh
请输入你喜欢的城市名称:
需要结束时,输入EOF.
苏州
你喜欢的城市: 苏州
请输入其它你喜欢的城市名称:
杭州
你喜欢的城市: 杭州
请输入其它你喜欢的城市名称:
EOF
你已输入: EOF,结束操作.
3.使用**select in循环语句**
3.1脚本
脚本名称:b2023052822.sh
脚本内容:
#!/bin/bash
echo "请按照编号选择你喜欢的城市名称."
select item in "上海" "苏州" "杭州" "宁波"
do
if [[ ${item} = "" ]];then
echo "请选择正确编号."
else
echo "你选择城市: ${item}."
break
fi
done
echo "你喜欢的城市是: ${item}."
echo "系统将为你设置你偏好内容."
3.2执行与输出
执行命令:bash b2023052822.sh
解析:#? 提示符提示你输入序号。使用Ctrl+D跳出循环。
执行结果:
[root@hadoop211 tutorial]# bash b2023052822.sh
请按照编号选择你喜欢的城市名称.
1) 上海
2) 苏州
3) 杭州
4) 宁波
#? 3
你选择城市: 杭州.
你喜欢的城市是: 杭州.
系统将为你设置你偏好内容.
4.使用**until循环语句**
4.1脚本
#!/bin/bash
select item in "上海" "苏州" "杭州" "宁波"
do
case $item in
"上海")
echo "${item}是一个国际大都市."
break
;;
"苏州")
echo "${item}是一个园林城市."
break
;;
"杭州")
echo "${item}是一个互联网城市."
break
;;
"宁波")
echo "${item}是一个港口城市."
break
;;
*)
echo "你选择的编号,暂时不支持."
;;
esac
done
4.2执行与输出
执行命令:bash b2023052823.sh
执行结果:
[root@hadoop211 tutorial]# bash b2023052823.sh
1) 上海
2) 苏州
3) 杭州
4) 宁波
#? 5
你选择的编号,暂时不支持.
#? 3
杭州是一个互联网城市.
以上,感谢。
2023年5月28日
还没有评论,来说两句吧...