鳥哥的Linux私房菜 學習筆記 第13章

shell script

第一行 #!bin/bash 聲明這個 script 使用的 shell 名稱

其他行的 # 表示註釋

數值運算

declare -i aa

aa=5+6

let bb=1+8

cc=$((5+8)) echo $cc

返回值

命令如果執行成功,返回值爲0,如果執行失敗,返回非0值

echo $? 查看返回值

數值的比較

數字比較 -eq -gt -ge -lt -le

字符比較 ==   >   >=  < <=

比較方法 test 或[ ]

aa=3 bb=4 test $aa -eq $bb 或 [ $aa -eq $bb ] echo $?

[ $aa -eq $bb ] && echo OK

判斷

[ -f /etc/passwd ] 判斷文件是否存在 [ -x /etc/passwd ] 判斷文件是否可執行

[ -r /etc/passwd ] 判斷文件是否可讀 [ -w /etc/passwd ] 判斷文件是否可寫

if判斷

if [ 條件判斷式一 ]; then

if [ 條件判斷式二 ]; then

else

fi

在腳本中加入set -x 命令進行排錯

case判斷

case $變量名稱 in         
    "第一個變量內容")                  
        程序段                  
        ;;         
    "第二個變量內容")                  
        程序段                  
        ;;        
    *)         
        exit 1         
        ;;
esac
select xx in 'ls -l' pwd date
do 
    $xx
done

function功能

#不寫function也可以
function xx () {
    echo myfunction
}
xx

循環(loop)

sum=0
while [ "$sum" -lt 10 ]
do
        let sum+=1
        echo $sum
done
xx=0
until [ "$xx" -gt 24 ]
do
        case "$xx" in
                [0-9]|1[01])
                        echo "morning"
                        ;;   
                12)
                        echo "lunch"
                        ;;
                1[3-7])
                        echo "afternoon"
                *)
                        echo "everning"
        esac
        let xx+=1
done
            
for var in con1 con2 con3
do
    程序段
done
#第3次循環時var值爲con3

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章