Shell篇(3)-單雙引號 ,函數及case語句用法

 一 . 單引號和雙引號


    1.單引號和雙引號兩者之間的作用和區別:

       

       單引號('') : 單引號中的所有字符均作爲普通字符處理 , 即原樣輸出 , 無法調用變量的值 .

       雙引號("") : 雙引號中會自動識別特殊字符 , 即調用變量的值 , 如$ ,\n換行符 , \t tab鍵等特殊字符 .


       實例說明: 賦值給變量 x 一個值 , 分別輸出 '$x'"$x"

       image.png


       再舉個例子說明: 分別在命令行中輸入: echo  -e  '${x}_\n_welcome_to\t_51cto'  和  echo -e "${x}_\n_welcome_to\t_51cto"

       image.png

       說明 : echo 的 -e 選項是允許識別\n換行符 ,  \t tab鍵 , \r回車符等特殊字符 , ${x}通常等於$x , 那麼什麼時候需要將變量名用{}括起來呢?
          答 : 當變量名後面緊貼着其他字符時 , 爲了避免歧義 , 就需要將變量名用{}括起來



 二 . shell的函數功能和定義


     1. 函數功能 : 完成特定功能的代碼塊(段)

         在shell中定義函數可以使用代碼模塊化 ,便於複用(重複使用)代碼 , 函數必須先定義纔可以使用


     2. 函數的定義 : 


         方法一:

         函數名(){

               函數要實現的功能代碼

         }

         方法二:

         function  函數名{

               函數要實現的功能代碼

         }

       通過 function , network 服務控制腳本可以看到其中內容 , 其中就有函數 , 比如cat  -n  /etc/rc.d/init.d/functions | more 查看:

        image.png

        

       通過介紹下面的 case 命令後 ,可以舉例說明函數作用及用法 ...



  三 . case 命令介紹

 

     1. 功能定義 : 根據變量的取值不同 , 執行不同的操作命令

     2. 語法格式 :

          

         case  $變量名  in

         值一)

               要實現功能的代碼  ;;

         值二)

               要實現功能的代碼  ;;

         值三)

               要實現功能的代碼  ;;

         ....

         值n)

               要實現功能的代碼  ;;

         esac


       實例: 編寫一個名稱爲/sh/install.sh 的腳本 , 要求顯示一個主菜單界面 , 提示用戶輸入選項 , 回車後確認執行指定選項的命令操作:


       方法一 : vim  /sh/install.sh 輸入以下內容 :

                   image.png

                   使用 bash  /sh/install.sh運行腳本後 ,會顯示一個菜單 , 輸入對應的編號 , 即會出現相應的命令

                   image.png


       方法二 : 使用函數定義 , 並調用函數

                   image.png

                   上圖中定一了一個名爲_NFS , 作用是檢測安裝nfs服務的函數 , 再在case命令值一中 , 調用_NFS函數 , wq出去後運行 , 輸入編號 1 , 即可安裝nfs服務

                   image.png


                   以上就是關於case命令和shell函數的使用  !!

      


         

         

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