shell指令碼的函式位置相對自由,既可以乙個shell指令碼單獨成乙個函式, 也可以在主**中嵌入內建函式.
在shell中可以通過下面的兩種語法來定義函式,分別如下:
function_name ()
或者
function function_name()
當某個函式定義好了以後,使用者就可以通過函式名來呼叫該函式了。在shell中,函式呼叫的基本語法如下,
function_name parm1 parm21
例如下面的指令碼:
#!/usr/bin/env bash
# encoding: utf-8.0
function test_func()
echo "here is main function"
echo "now inside function: test_func"
test_func hello world
執行後輸出:
here is main function
now inside function: test_func
input parameter1: hello
input parameter2: world
還可以更複雜一些.例如整個shell指令碼還有控制台的輸入引數:
#!/usr/bin/env bash
# encoding: utf-8.0
function test_func()
function print_list()
echo "here is main function"
echo "now inside function: test_func"
test_func hello world
print_list $1
執行./shell_function.test list.txt
得到的輸出如下.可見內建函式內的引數列表和指令碼的引數列表互相並不影響.
here is main function
now inside function: test_func
output from inside-function:test_func
input parameter1: hello
input parameter2: world
line1
line2
line3
line4
shell指令碼 函式及傳參
shell指令碼的函式位置相對自由,既可以乙個shell指令碼單獨成乙個函式,也可以在主 中嵌入內建函式.在shell中可以通過下面的兩種語法來定義函式,分別如下 function name 或者 function function name 當某個函式定義好了以後,使用者就可以通過函式名來呼叫該函...
shell指令碼傳參
喜歡用第二種方法 shell傳函式方法 法一 使用全域性變數 html view plain copy g result function testfunc testfunc echo g result 方法二 把shell函式作為子程式呼叫,將其結果寫到子程式的標準輸出 html view pla...
Shell 向shell指令碼傳參
我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 傳遞到指令碼的引數個數 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0 為執行的檔名 test.sh echo she...