Shell指令碼一
我們在編輯指令碼書寫時要注意以下幾個重要因素
l 指令碼檔案以 .sh結尾
l 指令碼的書寫:寫指令碼必須在第一行編寫 #!/bin/bash 然後在進行邏輯程式設計等一系列的操作。
l 指令碼的啟動方式:(1)以bash +檔名啟用指令碼檔案;以sh + 檔名啟用指令碼檔案。(2)以句對路徑執行指令碼 例如/root/benet/dxt.sh
l 如果檔案全線為 –rw-r- -r- - 此指令碼檔案不能被執行,因為它沒有被賦予執行許可權。需要先賦予該檔案的執行許可權。才能啟用該指令碼檔案。既:chmod +x yunjisuan.sh 隨後即可執行此檔案指令碼。
l 指令碼中的命令必須免互動。例如:在指令碼中建立密碼。 echo “111111” | passwd—stdin test
l 當在寫指令碼的過程中,寫道極其重要或執行高危命令時要使用一個檢測機制。用test配合f 或者d 來判斷目標是檔案或者目錄
l 通過[ ]判斷目標是否是目錄。示例 [ -d /root/benet]。是否是檔案。
示例 [ -f /root/benet/yunjisuan.sh ]。
l [ ]中大於,小於,等於,大於等於,小於等於,不等於的示例[ $a –gt $b]
[ $a –lt $b ][ $a –eq $b ][ $a –ge $b ][ $a –le $b ][ $a –ne $b ]
l 關於邏輯與“&&”和邏輯或“||”。 && 左邊為真時執行右邊,否則不執行。|| 左邊為假時執行右邊,否則不執行。
指令碼的單分支語句
基本格式
如果 條件1 成立 if [ 條件成立];then
那麼 執行 動作1 執行動作1
結束 fi
如果條件成立,則執行動作1
例題:
Read –p “輸入一個數字” a
if [ $a –eq 60];then
echo “猜對了”
fi
如果條件不成立,執行動作2
例題
Read –p “輸入一個數字” a
If [ $a –eq 60 ];then
echo”猜對了”
else echo”猜錯了”
fi
指令碼的多分枝語句
例題
Read –p “請輸入一個數字” a
If [ $a –eq 60 ];then
echo”猜對了”
elif [ $a –lt 60 ];then
echo”猜小了”
else echo”猜大了”
fi