循环语句
本文最后更新于 284 天前,其中的信息可能已经有所发展或是发生改变。

AC Terminal

for…in…do…done

命令格式:

for var in val1 val2 val3
do
  语句1
  语句2
  ...
done

示例1,输出a 2 cc,每个元素一行:

for i in a 2 cc
do
  echo $i
done

示例2,输出当前路径下的所有文件名,每个文件名一行:

for file in `ls`
do
  echo $file
done

示例3,输出1-10

for i in $(seq 1 10)
do
  echo $i
done

示例4,使用{1..10} 或者 {a..z}

for i in {a..z}
do
  echo $i
done

for ((…;…;…)) do…done

命令格式:

for ((expression; condition; expression))
do
  语句1
  语句2
done

示例,输出1-10,每个数占一行:

for ((i=1; i<=10; i++))
do
  echo $i
done

while…do…done循环

命令格式:

while condition
do
  语句1
  语句2
  ...
done

示例,文件结束符为Ctrl+d,输入文件结束符后read指令返回false。

while read name
do
  echo $name
done

until…do…done循环

当条件为真时结束。

命令格式:

until condition
do
  语句1
  语句2
  ...
done

示例,当用户输入yes或者YES时结束,否则一直等待读入。

until [ "${word}" == "yes" ] || [ "${word}" == "YES" ]
do
  read -p "Please input yes/YES to stop this program: " word
done

break命令

跳出当前一层循环,注意与C/C++不同的是:break不能跳出case语句。

示例

while read name
do
  for ((i=1;i<=10;i++))
  do
​    case $i in
​      8)
​        break
​        ;;
​      *)
​        echo $i
​        ;;
​    esac
  done
done

该示例每读入非EOF的字符串,会输出一遍1-7。

该程序可以输入Ctrl+d文件结束符来结束,也可以直接用Ctrl+c杀掉该进程。

continue命令

跳出当前循环。

示例:

for ((i=1;i<=10;i++))
do
  if [ `expr $i % 2` -eq 0 ]
  then
​    continue
  fi
  echo $i
done

该程序输出1-10中的所有奇数。

死循环的处理方式

如果AC Terminal可以打开该程序,则输入Ctrl+c即可。

否则可以直接关闭进程:

  • 使用top命令找到进程的PID

  • 输入kill -9 PID即可关掉此进程

你正在查看的是:《循环语句 》,url:https://www.sujiawen.com/target3/240/
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇