shell中的函數及函數傳參, 函數中的變量是全局的


0. shell的文件級和函數中定義的變量默認都是全局變量, 這點和python不同, 如需在函數中定義

 局部變量, 需在定義時使用local才可.

 

1. 函數基本結構:

 方法一: function_name () { shell 語法實現的功能 }

 方法二: function  name { shell 語法實現的功能 }

 

2. shell中的函數沒有形參的概念, shell中也沒有行分隔符;

3. 函數的調用直接使用函數名, 不加括號; 

4. 函數雖沒有參數, 但函數體中可以使用$number的形式從函數調用處按照位置接受傳入的數據,如下

     function_name () { shell 引用$!和$2的場景 }        # 調用   function_name  10  20

     function_name () { shell 引用$num的場景 }          # 調用前定義num變量, 再調用函數function_name 

     function_name () { shell 引用$!和$2的場景 }         # 調用   function_name  $1  $2, 此時可接受shell窗口中執行該函數文件時后面加的參數

     

      循環賦值補充: num=$(($num * $i))     

 

5. 函數的返回值: (shell中return默認是數字, 且不能超過255, 超過會報錯)

      函數的返回值可使用$?來接受

      

 

 

6. 函數返回任意想返回的內容

     

 

7. 函數傳遞數組參數示例:

 

 

 shell的函數中如何返回數組呢?

 在函數中先組建好要返回的數組, 使用echo "${array[*]}"   在調用函數處使用個變量接受即可.  return_array=~function patameter~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM