shell指令碼實戰 while迴圈語句

2022-09-26 13:24:23 字數 1875 閱讀 9418

上文我們討論了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在生活中的應用。需求分析 根據系統管理的需求,分析指令碼要實現的功能,功能實現的層次,實現的命令與語句等 命令測試 將要用到的命令逐個進行測試,以決定使用的選...