iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0

今天來講如何在shell script中執行迴圈,不過在講loop本身時我會先講解其中的一些關鍵字

keyword

  1. break
    直接跳出迴圈

分隔方式

Shell script有兩種分隔方式

  1. 以分號(;)分隔(單行模式loop)
  2. 以換號(\n)分隔(多行模式loop)

Until

在shell script中除了常見的for與while以外,還多了一個until,其用途與while相反。until是當條件式不成立或狀態碼不為0時就繼續執行直到條件式成立或狀態碼為0

以下是shell script中的while與until的用法

## single line
while cmd; do some-thing; done

## multi line
until cmd
    do some-thing
done

For

至於for loop除了可以使用C-style的方式以外還可以從一個array或空格分隔的字串來Loop

C-style

for (( init-expr; loop-expr; runEveryTime-expr ))
do 
    some-thing
done

計算算術表達式init-expr,然後重複計算算術表達式loop-expr,直到它的值為零。每次expr的值不為零時,執行指令並計算算術表達式runEveryTime-expr

for-in

for name [ [in [words …] ] ; ] 
do 
    commands
done

這種則是對於words(一個或多個字符串的集合,或Brace Expansion)進行loop

如果在for迴圈中不指定in words,那麼for命令會對每個位置參數執行一次命令,就像指定了in "$@"一樣。這裡的位置參數是指傳遞給腳本或函數的參數。

REF

https://shengyu7697.github.io/shell-script-for/
https://www.gnu.org/software/bash/manual/html_node/Looping-Constructs.html


上一篇
Day16: shell script的基本語法
下一篇
Day18: shell script中的條件式
系列文
I Use Linux BTW: 談Linux與其指令30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言