一 . 單引號和雙引號
1.單引號和雙引號兩者之間的作用和區別:
單引號('') : 單引號中的所有字符均作爲普通字符處理 , 即原樣輸出 , 無法調用變量的值 .
雙引號("") : 雙引號中會自動識別特殊字符 , 即調用變量的值 , 如$ ,\n換行符 , \t tab鍵等特殊字符 .
實例說明: 賦值給變量 x 一個值 , 分別輸出 '$x' 和 "$x"
再舉個例子說明: 分別在命令行中輸入: echo -e '${x}_\n_welcome_to\t_51cto' 和 echo -e "${x}_\n_welcome_to\t_51cto"
說明 : echo 的 -e 選項是允許識別\n換行符 , \t tab鍵 , \r回車符等特殊字符 , ${x}通常等於$x , 那麼什麼時候需要將變量名用{}括起來呢?
答 : 當變量名後面緊貼着其他字符時 , 爲了避免歧義 , 就需要將變量名用{}括起來
二 . shell的函數功能和定義
1. 函數功能 : 完成特定功能的代碼塊(段)
在shell中定義函數可以使用代碼模塊化 ,便於複用(重複使用)代碼 , 函數必須先定義纔可以使用
2. 函數的定義 :
方法一:
函數名(){
函數要實現的功能代碼
}
方法二:
function 函數名{
函數要實現的功能代碼
}
通過 function , network 服務控制腳本可以看到其中內容 , 其中就有函數 , 比如cat -n /etc/rc.d/init.d/functions | more 查看:
通過介紹下面的 case 命令後 ,可以舉例說明函數作用及用法 ...
三 . case 命令介紹
1. 功能定義 : 根據變量的取值不同 , 執行不同的操作命令
2. 語法格式 :
case $變量名 in
值一)
要實現功能的代碼 ;;
值二)
要實現功能的代碼 ;;
值三)
要實現功能的代碼 ;;
....
值n)
要實現功能的代碼 ;;
esac
實例: 編寫一個名稱爲/sh/install.sh 的腳本 , 要求顯示一個主菜單界面 , 提示用戶輸入選項 , 回車後確認執行指定選項的命令操作:
方法一 : vim /sh/install.sh 輸入以下內容 :
使用 bash /sh/install.sh運行腳本後 ,會顯示一個菜單 , 輸入對應的編號 , 即會出現相應的命令
方法二 : 使用函數定義 , 並調用函數
上圖中定一了一個名爲_NFS , 作用是檢測安裝nfs服務的函數 , 再在case命令值一中 , 調用_NFS函數 , wq出去後運行 , 輸入編號 1 , 即可安裝nfs服務
以上就是關於case命令和shell函數的使用 !!