Shell基礎 day5 迴圈語法

2021-10-24 23:42:58 字數 1613 閱讀 8530

1,for迴圈     

for 變數名 [ in 取值列表 ]

do 迴圈體

done

for迴圈預設是按照空格分隔變數值的,注意for迴圈的迴圈次數是固定的。

for val in a b c

do echo $val

done

注意上面的指令碼會輸出a b c

下面的例子實現的是for建立多個使用者,需要建立乙個檔案,檔案中每行的格式是:使用者名稱  密碼

#!/usr/bin/bash

#判斷指令碼是否有引數

if [ $# -eq 0 ]; then

echo "usage: `basename $0` file"

exit 1

fi#希望for處理檔案按回車分隔,而不是空格或tab空格

#重新定義分隔符

#ifs內部字段分隔符

ifs=$'\n'

for line in `cat $1`

do if [ $ -eq 0 ]; then

continue

fiuser=`echo "$line" | awk ''`

pass=`echo "$line" | awk ''`

id $user &>/dev/null

if [ $? -eq 0 ];then

echo "user $user already exists"

else

useradd $user

echo "$pass" |passwd --stdin $user &>/dev/null

if [ $? -eq 0 ];then

echo "$user is created"

fifi

done

2,while迴圈

while 條件測試

do 迴圈體

done

因為 for使用的是空格作為分隔符,而while可以直接以回車作為分隔符,因此當需要處理檔案的時候,優先考慮到的就是while,而不是for。

#!/usr/bin/bash

#while create user

#會從檔案user.txt裡面讀入一行給user

#當讀到檔案尾時,read line不會成功

while read line

do user=`echo "$line" | awk ''`

pass=`echo "$line" | awk ''`

id $user &>/dev/null

if [ $? -eq 0 ];then

echo "user $user already exists"

else

useradd $user

echo "$pass" |passwd --stdin $user &>/dev/null

if [ $? -eq 0 ];then

echo "$user is created"

fifi

done < user.txt

Day5 分支語句,for迴圈

分支語句可以在程式執行的時候從幾組語句中選擇一組執行 在編寫程式時如果遇到多種可能性,任何時候只能選擇一種可能性,這種情況下就可以採用分支解決 if關鍵字用來編寫分支 if分支裡需要為每種可能性編寫相應的處理語句 每組語句需要乙個配對的邏輯表示式,如果某個邏輯表示式結果為真,就執行它對應的語句,其他...

HTML基礎知識day5

表單驗證的好處 可以減輕伺服器的壓力,可以保證資料的安全性和可行性。屬性作用 placeholder 在文字框起提示作用,提示你該條文字框該填什麼內容。required 必填項,規定文字框填寫內容不能為空,如果該項沒有填寫任何東西,表單將無法提交。disabled 禁用的功能,會使該條input無效...

python基礎Day 5函式作業

定義乙個函式實現反響輸出乙個整數。比如 輸入 3245,輸出 5432.2.編寫乙個函式,計算下面的數列 數列計算 輸入三角形三個頂點的座標,若有效則計算三角形的面積 如座標無效,則給出提 示。輸入乙個毫秒數,將該數字換算成小時數,分鐘數 秒數。使用海龜繪圖。輸入多個點,將這些點都兩兩相連。1 de...