SHELL語法 迴圈

2021-09-05 11:48:29 字數 1646 閱讀 1389

bash shell中主要提供了三種迴圈方式:for、while和until。

語法結構:

for var in item1 item2 ... itemn

do command1

command2

...commandn

done

變形:for var in item1 item2 ... itemn; do command1; command2… done;

for (( ; ; ))

do...

done

for迴圈的執行flow:是將行1 中的各序列的itemx依次取出,放入指定的變數var中,然後重複do和done之間的commandx,直到所有元素取盡為止。

example

#!/bin/bash

# description : 列出/var 目錄下的所有子目錄的size

dir="/var"

cd $dir

for i in $(ls $dir)

do [ -d $i ] && du -sh $i

done

語法結構:

while condition

do command

done

無限迴圈變形:

while :

do command

done

或while true

do command

done

while迴圈的執行flow:首先進行條件測試,如果condition為真,則進入迴圈執行command,否則不進入迴圈。

example

example1 :

#!/bin/bash

#description:將i從1到5列印

int=1

while(( $int<=5 ))

do echo $int

# bash let 命令,執行「表示式」,引用變數時不需要加上$

let "int++"

done

example2 :

#!/bin/bash

#description: 列印test_file 檔案

while read line

do echo $

done < /tmp/test_file

語法結構:

until condition

do command

done

until 迴圈的執行flow : 首先進行條件測試,如果condition為,則進入迴圈執行command,直到condition為真退出迴圈。

example

#!/bin/bash

#description: 將i從0到9列印

a=0until [ ! $a -lt 10 ]

do echo $a

a=`expr $a + 1`

done

Shell語法 迴圈 檔案讀寫

for 變數 in 字串 do 語句1 done介紹完for語法格式後,先看一下linux自帶的乙個類似for迴圈的命令 seq 1 15輸出1一直到15 123 45678 9101112 1314 15 bin bash for i in seq 1 15 do echo 數字 i done輸出...

Shell基礎 day5 迴圈語法

1,for迴圈 for 變數名 in 取值列表 do 迴圈體 donefor迴圈預設是按照空格分隔變數值的,注意for迴圈的迴圈次數是固定的。for val in a b c do echo val done注意上面的指令碼會輸出a b c 下面的例子實現的是for建立多個使用者,需要建立乙個檔案,...

shell 死迴圈if判斷 shell 死迴圈

例1 執行指令碼後會自動載入firefox瀏覽器,並開啟指定網頁。如果使用者關閉firefox,指令碼會再次自動重新開啟firefox。如需結束迴圈,中止t2.sh程序即可。注意不要同時執行兩個t1.sh指令碼,否則 若事先不知道指令碼名,也可以通過類似於 pstree grep firefox 的...