成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Linux的bash中永遠循環

系統 Linux
在 Linux 中有很多永遠循環(或直到你決定停止)的方法,你可以在命令行或腳本中執行此操作。

[[331975]]

在 Linux 中有很多永遠循環(或直到你決定停止)的方法,你可以在命令行或腳本中執行此操作。

for 和 while 命令使這件事非常容易。關于相應的語法和策略,只有幾件事要牢記。

使用 while

最簡單的永遠循環之一是使用 while 命令,后面跟上條件 true。 你不必使用諸如 while [ 1 -eq 1 ] 之類的邏輯或類似的測試。 while true 測試表示循環將一直運行,直到你使用 CTRL-C 停止循環、關閉終端窗口或注銷為止。這是一個例子:

  1. $ while true
  2. > do
  3. > echo Keep running
  4. > sleep 3
  5. > done
  6. Keep running
  7. Keep running
  8. Keep running
  9. ^C

你也可以使用 while : 做同樣的事情。這里的關鍵是 : 總是返回成功,因此就像 while true 一樣,此測試永遠不會失敗,并且循環會繼續運行:

  1. $ while :
  2. > do
  3. > echo Keep running
  4. > sleep 3
  5. > done
  6. Keep running
  7. Keep running
  8. ^C

如果你在腳本中插入了無限循環,并想提醒使用它的人如何退出腳本,那么可以使用 echo 命令添加提示:

  1. while :
  2. do
  3. echo Keep running
  4. echo "Press CTRL+C to exit"
  5. sleep 1
  6. done

使用 for

for 命令還提供了一種永遠循環的簡便方法。雖然不如 while true 明顯,但語法相當簡單。你只需要在有界循環中替換參數即可,它通常類似于 “c 從等于 1 開始遞增,直到 5”:

  1. $ for (( c=1; c<=5; c++ ))

不指定任何參數的情況下:

  1. $ for (( ; ; ))

沒有起始值、增量或退出測試,此循環將永遠運行或被強制停止:

  1. $ for (( ; ; ))
  2. > do
  3. > echo Keep running
  4. > echo Press CTRL+C to exit
  5. > sleep 2
  6. > done
  7. Keep your spirits up
  8. Keep your spirits up
  9. Keep your spirits up

為什么要永遠循環?

在現實中,你不會想永遠循環下去,但一直運行直到想要回家、工作完成或者遇到問題才退出并不罕見。任何構造為無限循環的循環都可以設置為根據各種情況退出。

該腳本將一直處理數據直到下午 5 點,或者說檢查發現第一次超過 5 點的時間:

  1. #!/bin/bash
  2.  
  3. while true
  4. do
  5. if [ `date +%H` -ge 17 ]; then
  6. exit # exit script
  7. fi
  8. echo keep running
  9. ~/bin/process_data # do some work
  10. done

如果要退出循環而不是退出腳本,請使用 break 命令而不是 exit

  1. #!/bin/bash
  2.  
  3. while true
  4. do
  5. if [ `date +%H` -ge 17 ]; then
  6. break # exit loop
  7. fi
  8. echo keep running
  9. ~/bin/process_data
  10. done
  11. run other commands here

總結

永遠循環很容易。指定要停止循環的條件卻需要花費一些額外的精力。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-04-09 10:18:51

Bash循環Linux

2020-06-17 17:29:11

BashLinux

2018-03-07 09:30:25

Linux命令Bash

2022-12-13 12:55:15

Bash循環

2023-12-14 13:02:00

BashLinuxShell

2023-10-19 14:52:27

2018-02-24 16:30:49

LinuxUnixBash

2022-03-30 09:32:32

BashtestLinux

2017-12-11 13:50:17

LinuxBash子字符串

2018-02-01 17:32:30

LinuxUNIXBash Shell

2022-08-30 19:14:31

LinuxBash

2018-08-01 10:45:13

WindowsWindows 10程序

2015-01-23 09:38:31

2021-08-30 07:50:42

腳本語言命令行

2019-09-16 13:48:03

Linux管理日志

2021-04-30 13:19:20

Linux刪除分區

2022-11-01 15:38:22

LinuxShell

2017-01-11 16:41:16

Linux設備文件文件系統

2020-03-02 14:45:53

Linux編輯字幕命令

2019-08-23 10:42:00

Linux復制文檔
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一二三区 | 精品一级电影 | 国产精品一区二区免费 | 久久久久久国产 | 免费在线观看一区二区三区 | 日韩av在线一区 | 久久一二区 | 亚洲毛片在线 | 精品久久久久久亚洲国产800 | 岛国毛片在线观看 | 久操伊人 | 亚洲精品一区二区 | 国产亚洲精品精品国产亚洲综合 | 超碰激情 | 国产精品久久久久久久久图文区 | 成人深夜福利网站 | 91偷拍精品一区二区三区 | 亚洲精品片 | caoporn国产精品免费公开 | 亚洲男人天堂av | 成人免费视频网站在线看 | 三级视频网站 | 1区2区3区视频 | av黄色在线 | 国产精品观看 | 久久久久久久久久久久久9999 | 丁香五月网久久综合 | 懂色av色香蕉一区二区蜜桃 | 欧美日韩视频在线 | 一二三四在线视频观看社区 | 夜夜爽99久久国产综合精品女不卡 | 毛片网站在线观看 | 日韩视频精品在线 | 岛国精品| 做a视频 | www..com18午夜观看 | 日韩成人免费视频 | 2018中文字幕第一页 | 在线91 | 欧美成人h版在线观看 | 99re6在线视频精品免费 |