上文我們討論了for迴圈的使用,在有限迴圈裡,我們使用for迴圈是很方便的一件事情,今天我們來**下while迴圈
while迴圈語句的語法分析
語法格式一:
while [條件]
do 操作
done
語法格式二:
while read line
do 操作
done < file
通過read命令每次讀取一行檔案,檔案內容有多少行,while迴圈多少次
注意:只有表示式為真,do和done之間的語句才會執行,表示式為假時,結束迴圈(即條件成立就一直執行迴圈)
例如:while true ;do
echo 'helloword'
done
#!/bin/bash
num=1
while [ $num -le 10 ]
do echo $num
num=$((eegaf $num + 1 ))
done
用法一:
while read line
do echo $line
done <.>
用法二:
cat ./a.txt|
while read line
do echo $line
done
for實現的讀取檔案並著行列印
#!/bin/bash
content=$(cat ./a.txt)
for i in $content
do echo $i
done
此處感謝 @乙隻小小白丶 的建議,因為大多數人看到等號就會想到兩邊相等,這符合我們的教育習慣。
如果要實現圖中效果可以按照如下方式做:
#!/bin/bash
num=1
while [ $num -lt 10 ]
do sum=$(( $num * $num))
echo "$num * $num = $num"
((num++))
done
當然大多數人習慣了讓等式兩邊必須相等,不相等看上去彆扭,這也是義務教育的結果,也可以稍微改一下:
#!/bin/bash
num=1
while [ $num -lt 10 ]
do sum=$(( $num * 程式設計客棧$num))
echo "$num * $num = $sum"
((num++))
done
這樣輸出的結果符合大多數人的數學習慣:
建立指定檔案裡的使用者
指定檔案 name.txt 裡面包含 zhangsan lisi wangwu
name.txt 如下:
[root@ecs-c13b ~]# cat name.txt
zhangsan
lisi
wangwu
從name.txt程式設計客棧裡面遍歷使用者名稱並建立使用者
#!/bin/bash
for name in `cat /root/name.txt`
#for name in $(cat /root/a.txt)
do id $name &> /dev/null
if [ $? -ne 0 ];then
useradd $name
echo "123456" |passwd --stdin $name &> /dev/null
echo "user $name created"
else
echo "user $name is exist"
fidone
到目前為止,for-while-if-case,這四個常用的控制語句我們都已經**過了,接下來就是大量練習和綜合應用的時候,操練起來把。
shell 程式設計之while迴圈和for迴圈
一 while迴圈 1.語法 一 while語句結構 條件為真時,執行迴圈體 while 條件 do 迴圈體 done 二 until語法結構 條件為假時,一直執行迴圈體 直到條件變為真 until 條件 do 迴圈體 done二 for迴圈 shell風格語法 for 變數名 in 取值列表 do...
while命令 shell指令碼
while test command do other commands donewhile 命令中定義的test command和if then語句的格式一模一樣。可以使用任何普通的bash shell命令,或者用test命令進行條件測試,比如測試變數值。while命令的關鍵在於所制定的test ...
Shell指令碼實戰
shell指令碼程式設計的靈活運用需要有對指令碼基礎,不同的語句組合應用具有十分熟悉的理解。接下來就通過一些實際專案來更加深刻的體會shell在生活中的應用。需求分析 根據系統管理的需求,分析指令碼要實現的功能,功能實現的層次,實現的命令與語句等 命令測試 將要用到的命令逐個進行測試,以決定使用的選...