shell指令碼函式及傳參

2021-08-20 05:41:07 字數 1323 閱讀 3658

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...