shell 指令碼 迴圈

2021-10-04 09:07:46 字數 1983 閱讀 1090

shell for 迴圈參考 linux下shell的for迴圈語句、shell逐行讀取檔案的3種方法

for迴圈語法

for var in item1 item2 ... itemn

do command

done

for迴圈 路徑查詢

在/mx資料夾有檔案  check_list  md5result  test_for.sh  test.sh

語法:for file in filepath/*

filepath2=/mx/*

for file in $

do echo $

done

輸出如下

/mx/check_list

/mx/md5result

/mx/test_for.sh

/mx/test.sh

語法:for file in `find filepath`

filepath=/mx

for file in `find $`

do echo $

done

for迴圈輸出如下

/mx/mx/check_list

/mx/md5result

/mx/test.sh

/mx/test_for.sh

語法:for file in `find filepath -type f `  只查詢 一般檔案

filepath=/mx

#只查詢 /mx資料夾下的 一般檔案

for file in `find $ -type f`

do echo "$"

done

for迴圈輸出如下 只查詢 一般檔案

/mx/check_list

/mx/md5result

/mx/test.sh

/mx/test_for.sh

while語法:

while condition

do command

done

3.1 cat file | while read 讀取檔案並處理檔案每次讀取一行 ,每一行的內容使用ifs作為分隔符讀檔案 預設情況下ifs是空格,如果需要使用其它的需要重新賦值  例如   ifs=:    參考while read讀取文字內容

例子 有如下檔案 

ip user pwd

10.1.1.11 root 123

10.1.1.22 root 111

10.1.1.33 root 123456

10.1.1.44 root 54321

while read 讀取檔案,以空格作為域分隔符,並給每一列取名字。

cat file_path |while read ip user pwd 

do echo "$ip--$user--$pwd"

done

3.2 cat file | awk command | while read結合awk 文字檔案處理命令,指定讀取檔案的行 並處理檔案

#從第2行開始讀取檔案

cat file_path | aqk 'nr>1' while read ip user pwd

do echo "$ip--$user--$pwd"

done

shell指令碼 for迴圈

迴圈語句 while對於要求控制迴圈次數 操作物件按數字順序編號,按特定條件執行重複操作。重複測試某個條件時,只要條件成立就會反覆執行 無限 除非強制終止,或者exit語句退出指令碼 for迴圈語句 需要指定乙個變數以及可以取值的取值列表,針對每乙個不同的取值執行相同的命令序列,直到變數值用盡,退出...

shell指令碼 迴圈

迴圈有三種for,while,until,前兩種多種語言都有,大同小異,最後那種用的少,咱們就不說了 老規矩,上來先看 塊 root localhost scripts bash ceshi.sh 12 3456 78910 root localhost scripts cat ceshi.sh b...

shell 指令碼 for 迴圈

語法一 for 變數 in 值1 值2 值3 do程式 done 例項11 bin bash 2 shijian zaoshang zhongwu xiawu wanshang 3 for time in shijian 4 do5echo time 6 done 例項21 bin bash 2fo...