1.if控制語句 if then fi if then else fi if then elif then elif then ······ else fi
if 條件表示式
then 命令序列(滿足條件才執行) #注意,如果if與then(elif與then)寫在同一行,要用;隔開)
fiif 條件表示式;then
命令序列
fi
if 條件表示式
then 命令序列1(條件滿足)
else 命令序列1(條件不滿足)
fiif 條件表示式1
then 命令序列1
elif 條件表示式2
then 命令序列2
······
else 命令序列(以上條件均不滿足)
fi#!/bin/bash # ex.sh
read -p "enter your score(0-100): " grade # read命令
if [ $grade -ge 85 ] && [ $grade -le 100 ] ;then
echo "$grade is excellent"
elif [ $grade -ge 70 ] && [ $grade -le 84 ]
then echo "$grade is pass"
elif [ $grade -gt 100 ]
then echo "$grade is error"
elif [ $grade -lt 0 ]
then echo "$grade is error"
else
echo "$grade is fail"
fi bash ex.sh sh ex.sh ./ex.sh
2.for控制語句
for 變數名 in 控制列表
do命令序列
done
# vim name.txt #每行只有乙個使用者
andy
barry
carl
sjd#!/bin/bash #user.sh
read -p "enter the users password: " passwd #讀取密碼,所有使用者的密碼設定相同
for name in `cat name.txt`
doid $name &> /dev/null
if [ $? -eq 0 ]
then
echo "already exists"
else
useradd $name &> /dev/null
echo "$passwd" | passwd --stdin $name &> /dev/null
if [ $? -eq 0 ]
then
echo "$name, create success"
else
echo "$name, create failure"
fifi
done bash user.sh tail -n 4 /etc/passwd 檢視新建使用者資訊 for name in `cat name.txt` 等
價於 for name in $(cat name.txt) 或者: eh= $(cat name.txt) for name in $eh
3.while控制語句
while 條件表示式
do命令序列
done
#!/bin/bash #guess.sh
price=$(expr $random % 1000) #或者 price=`expr $random % 1000`
times=0
echo "商品實際**為0~999之間,猜猜看是多少?"
while true
doread -p "please input the value that you guess: " gu
let times++
if [ $price -eq $gu ]
then echo "congratulations! your guess is accurate which is $price"
echo "the times that you guess is $times"
exit 0
elif [ $gu -gt $price ]
then echo "your guess is bigger"
else
echo "your guess is lower"
fidone bash guess.sh $random為環境變數,系統隨機產生乙個隨機數(範圍為0~32767)。使用
expr命令取得後面表示式的結果。exit 0 跳出while迴圈。
4.case控制語句
case 變數值 in
模式1)
命令序列1
;;模式2)
命令序列2
;;······
*)預設命令序列
esac
當變數指都不符合以上的模式時,則執行預設命令序列。
#!/bin/bash #exw.sh
read -p "please input a character: " ku
case $ku in
[a-z])
echo "你輸入的是字母!"
;;[0-9])
echo "你輸入的是數字!"
;;*)
echo "你輸入的是其它字元!"
esac [a-z] 可以匹配所有大小寫字母,並不僅僅只是小寫字母,與上面矛盾(經試驗證明)
5.計畫任務服務程式
在指定的時間段自動啟用或停止某些服務或命令,從而實現運維的自動化。
一次性計畫任務:如今晚11:30開啟**服務 at 時間 設定一次性計畫任務 at -l 檢視還未執行的一次性計畫任務 atrm 任務序號 刪除對應的還未執行的一次性計畫任務 # at 11:30 systemctl restart httpd ctrl+d組合鍵來結束計畫任務的編寫 這是採用互動的方式來實現一次性計畫任務,可以利用管道符來直接實現: echo "systemctl restart httpd" | at 11:30 即可 然後就可以用at -l命令檢視
長期性計畫任務:如每週一3:25分把/home/luciusvorenus目錄打包備份為backup.tar.gz crontab -e 建立、編輯計畫任務書 crontab -l 檢視計畫任務 注意:每一行只能寫一條計畫任務,且命令必須採用絕對路徑的方式書寫,如:/uer/bin/rm 可用whereis 或which命令檢視
Python流程控制語句流程控制語句
流程控制語句1 if語句 if 語句基本用法 if 表示式 語句塊其中,表示式可以是乙個單純的布林值或變數,也可以是比較表示式或邏輯表示式,如果表示式為真,則執行 語句塊 如果表示式的值為假,就跳 過 語句塊 繼續執行後面的語句。2 if else語句 if else 語句基本用法 if 表示式 語...
流程控制語句
for a b c 若迴圈體中出現continue,c語句仍得到執行。while dowhile b 執行完do後大括號,再檢驗while b 條件,若為真,繼續。從而有a語句塊至少執行一次的特性。continue 迴圈體內餘下語句忽略,繼續下次迴圈。break用於跳出迴圈或switch.case....
流程控制語句
迴圈 while do while for 判斷 if else switch case 異常處理 try catch finally throw 分支 break continue label return 迴圈 while和do while語句 while語句用於在條件保持為true時反覆執行乙...