Shell while命令

举报
张俭 发表于 2023/12/29 16:00:02 2023/12/29
【摘要】 while循环用于重复地执行一个命令列表while [ CONDITION ]do command1 command2 ... ... commandNdone当条件为真时,command1…commandN将被执行。比如,逐行地读取一个文件的内容,while IFS= read -r linedo command1 on $line command2 on $line .....

while循环用于重复地执行一个命令列表

while [ CONDITION ]
do
  command1
  command2
  ...
  ...
  commandN
done

当条件为真时,command1…commandN将被执行。比如,逐行地读取一个文件的内容,

while IFS= read -r line
do
  command1 on $line
  command2 on $line
  ...
  commandN
done < "/path/to/file:

定义一个无限while循环可以使用如下三种命令
true不做任何事,表示成功
false不做任何事,总是返回退出状态码1
:命令,总是返回退出状态码0

 1 while:
 2 do
 3   echo "Do something.."
 4   echo "Hit [ CTRL+C ] to stop!"
 5   sleep 3
 6 done

一个样例while脚本

1 while :
2 do
3   clear #清理终端屏幕
4
5   echo "=========================================="
6   echo "             MAIN - MENU                  "
7   echo "=========================================="
8   echo "1. Display date and time."
9   echo "2. Display system information."
10   echo "3. Display what users are doing."
11   echo "4. Exit"
12
13   read -p "Enter your choice [ 1 - 4 ]: " choice
14
15   echo $choice
16
17   case $choice in
18   1)
19     echo "Today is $(date +%Y-%m-%d)."
20     echo "Current time: $(date +%H:%M:%S)"
21     read -p "Press [Enter] key to continue..." readEnterKey
22     ;;
23   2)
24     uname -a
25     read -p "Press [Enter] key to continue..." readEnterKey
26     ;;
27   3)
28     w
29     read -p "Press [Enter] key to continue..." readEnterKey
30     ;;
31   4)
32     echo "Bye!"
33     exit 0
34     ;;
35   *)
36     echo "Error: Invalid option!"
37     read -p "Press [Enter] key to continue..." readEnterKey
38     ;;
39   esac
40
41 done
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。