Shell脚本until和select in循环语句应用

我不是女神ヾ 2024-04-23 01:57 200阅读 0赞

记录:435

场景:Shell脚本until和select in循环语句应用。

版本:CentOS Linux release 7.9.2009。

1.**until和select in循环语句**格式

1.1**until循环语句**格式

格式:

  1. until condition
  2. do
  3. command
  4. done

解析:符合until的条件时,循环才会跳出。

1.2select in循环语句格式

格式:

  1. select item in item1 item2 ... itemN
  2. do
  3. command
  4. done

解析:使用select in时,需要使用break跳出循环,否则无限循环。

select in循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。比较适合命令行终端(Terminal)交互场景。

2.使用**until循环语句**

2.1脚本

脚本名称:b2023052821.sh

脚本内容:

  1. #!/bin/bash
  2. echo '请输入你喜欢的城市名称:'
  3. echo '需要结束时,输入EOF.'
  4. city_name=''
  5. until [[ ${city_name} = "EOF" ]]
  6. do
  7. read city_name
  8. if [[ ${city_name} = "EOF" ]];then
  9. echo "你已输入: ${city_name},结束操作."
  10. else
  11. echo "你喜欢的城市: ${city_name}"
  12. echo '请输入其它你喜欢的城市名称:'
  13. fi
  14. done

2.2执行与输出

执行命令:bash b2023052821.sh

执行结果:

  1. [root@hadoop211 tutorial]# bash b2023052821.sh
  2. 请输入你喜欢的城市名称:
  3. 需要结束时,输入EOF.
  4. 苏州
  5. 你喜欢的城市: 苏州
  6. 请输入其它你喜欢的城市名称:
  7. 杭州
  8. 你喜欢的城市: 杭州
  9. 请输入其它你喜欢的城市名称:
  10. EOF
  11. 你已输入: EOF,结束操作.

3.使用**select in循环语句**

3.1脚本

脚本名称:b2023052822.sh

脚本内容:

  1. #!/bin/bash
  2. echo "请按照编号选择你喜欢的城市名称."
  3. select item in "上海" "苏州" "杭州" "宁波"
  4. do
  5. if [[ ${item} = "" ]];then
  6. echo "请选择正确编号."
  7. else
  8. echo "你选择城市: ${item}."
  9. break
  10. fi
  11. done
  12. echo "你喜欢的城市是: ${item}."
  13. echo "系统将为你设置你偏好内容."

3.2执行与输出

执行命令:bash b2023052822.sh

解析:#? 提示符提示你输入序号。使用Ctrl+D跳出循环。

执行结果:

  1. [root@hadoop211 tutorial]# bash b2023052822.sh
  2. 请按照编号选择你喜欢的城市名称.
  3. 1) 上海
  4. 2) 苏州
  5. 3) 杭州
  6. 4) 宁波
  7. #? 3
  8. 你选择城市: 杭州.
  9. 你喜欢的城市是: 杭州.
  10. 系统将为你设置你偏好内容.

4.使用**until循环语句**

4.1脚本

  1. #!/bin/bash
  2. select item in "上海" "苏州" "杭州" "宁波"
  3. do
  4. case $item in
  5. "上海")
  6. echo "${item}是一个国际大都市."
  7. break
  8. ;;
  9. "苏州")
  10. echo "${item}是一个园林城市."
  11. break
  12. ;;
  13. "杭州")
  14. echo "${item}是一个互联网城市."
  15. break
  16. ;;
  17. "宁波")
  18. echo "${item}是一个港口城市."
  19. break
  20. ;;
  21. *)
  22. echo "你选择的编号,暂时不支持."
  23. ;;
  24. esac
  25. done

4.2执行与输出

执行命令:bash b2023052823.sh

执行结果:

  1. [root@hadoop211 tutorial]# bash b2023052823.sh
  2. 1) 上海
  3. 2) 苏州
  4. 3) 杭州
  5. 4) 宁波
  6. #? 5
  7. 你选择的编号,暂时不支持.
  8. #? 3
  9. 杭州是一个互联网城市.

以上,感谢。

2023年5月28日

发表评论

表情:
评论列表 (有 0 条评论,200人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Shell select in循环详解

    一、Shell select in循环 select in 循环用来增强交互性,它可以显示出带编号的菜单,用户输入不同的编号就可以选择不同的菜单,并执行不同的功能。 s