1. 程式人生 > >Shell指令碼一

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 ]。

[ ]中大於,小於,等於,大於等於,小於等於,不等於的示例[ $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