迴圈語句
while對於要求控制迴圈次數、操作物件按數字順序編號,按特定條件執行重複操作。
重複測試某個條件時,只要條件成立就會反覆執行(無限),除非強制終止,或者exit語句退出指令碼
for迴圈語句
需要指定乙個變數以及可以取值的取值列表,針對每乙個不同的取值執行相同的命令序列,直到變數值用盡,退出迴圈
取值列表:for語句的執行條件,其中包括多個屬性相同的物件,需要預先指定。
格式:
for 變數名 in 取值列表
do 命令序列
done
注:
for語句的操作物件為使用者指定名稱的變數
通過in關鍵字為該變數預先設定乙個取值列表
多個取值之間以空格作為分隔
do~done之間是乙個迴圈體
應用領域:
1、字串取值列表
#!/bin/bash
#字串取值列表
for a in 電腦 汽車 手機 書包
do echo "我要買$a"
done
我在 根目錄下的 /opt目錄下建立乙個的shell指令碼名為for01.sh(如下圖)
在vi便一種建立指令碼
a表示自定義變數名
電腦汽車書包表示待取值
$a表示依次取得值
儲存退出
chmod +x for01.sh 為指令碼新增執行許可權
2、檔案取值列表
#!/bin/bash
#檔案取值列表(命令執行取值列表)
i=1
for user in $(cat /opt/a)
do echo "$i號使用者:$user"
let i++
done
先在 /opt目錄下建立個a檔案寫入一些名字
再建立for02.s**件寫入下圖內容
$(cat /opt/a)表示要從這個目錄中取值
儲存退出為檔案新增執行許可權
效果如下圖
3、掃瞄ip位址
#!/bin/bash
#掃瞄ip位址
for ip in 192.168.108. //網段
do ping -c 3 -i 0.2 -w 1 $ip &> /dev/null
if [ $? -eq 0 ];then
echo "$ip is up!!!"
else
echo "$ip is down!!!"
fidone
建立for03目錄
如下圖
這裡面的192.168.0.是自己的網段
加入執行許可權後結果如下圖
4、批量新增使用者
方法一:同乙個姓的
#!/bin/bash
#批量新增使用者
for a in teacher //新增五個使用者
do useradd $a
echo 123 | passwd --stdin $a &> /dev/null
#echo 123 是為使用者設定密碼
done
建立for04
新增執行許可權並執行如下圖
再cat /etc/passwd會顯示使用者
方法二:不同姓名
vi b.txtab
cde#!/bin/bash
#批量新增使用者
for a in $(cat /opt/b)
do useradd $a
echo 123 | passwd --stdin $a &> /dev/null
done
建立for05如下圖
為檔案新增執行許可權並執行
完成後在cat /etc/passwd中檢視
shell指令碼 迴圈
迴圈有三種for,while,until,前兩種多種語言都有,大同小異,最後那種用的少,咱們就不說了 老規矩,上來先看 塊 root localhost scripts bash ceshi.sh 12 3456 78910 root localhost scripts cat ceshi.sh b...
shell 指令碼 迴圈
shell for 迴圈參考 linux下shell的for迴圈語句 shell逐行讀取檔案的3種方法 for迴圈語法 for var in item1 item2 itemn do command donefor迴圈 路徑查詢 在 mx資料夾有檔案 check list md5result tes...
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...