shell腳本--------while循環語句
阿新 • • 發佈:2019-02-10
true bash 報錯 echo 命令 改密 color 修改密碼 roc while和for的區別:
for語句非常適合用於列表對象無規律,且列表來源是固定的場合
for語句非常適合用於列表對象無規律,且列表來源是固定的場合
while對於要求控制循環次數、操作對象按數字順序編號,按特定條件執行重復操作。
重復測試某個條件時,只要條件成立就會反復執行(無限),除非強制終止,或者exit語句退出腳本
格式: while 條件測試操作(判斷語句) do 命令序列 done 應用領域 1、批量添加用戶 #!/bin/bash U="student" //名稱 i=1 //默認從一開始 while [ $i -le 10 ] //循環十次 do useradd $U$i echo 123 | passwd --stdin $U$i &> /dev/null 設置密碼為123並將結果輸出至黑洞 let i++ //依次遞增 done until [ $i -gt 10 ] do useradd $U$i echo 123 | passwd --stdin $U$i &> /dev/null let i++ done
在/opt目錄下創建while01.sh
寫入一下腳本
完成後保存退出為文件添加執行權限並啟動如下圖
第一遍運行是不會顯示的我這是第二遍運行,第一遍運行若為報錯可以cat /etc/passwd查看
2.交互式批量創建用戶:
#!/bin/bash read -p "請輸入要創建用戶的前綴:" X read -p "請輸入要創建用戶的個數:" M read -p "請輸入用戶的初始密碼:" N i=1 while [ $i -le $M ] //要創建用戶的個數 do useradd $X$i echo "$N" | passwd --stdin $X$i &> /dev/null //密碼 chage -d 0 $X$i //第一次登陸強制修改密碼 let i++ done
再創建wheil02.sh輸入一下內容
保存退出後添加執行權限運行
到cat /etc/passwd中查看是否創建完成
強制修改密碼可以到虛擬機中嘗試一下如下圖
這樣就強制修改了.
3、猜價格遊戲
#!/bin/bash P=$(($RANDOM%1000)) T=0 echo "商品實際價格範圍0~999,請猜猜看是多少?" while true do read -p "請輸入你猜測的價格數目:" INT let T++ if [ $INT -eq $P ];then echo "恭喜答對了,實際價格是$P" echo "你總共猜測了$T次" exit 0 elif [ $INT -gt $P ];then echo "太高了" else echo "太低了" fi done
shell腳本--------while循環語句