Linux shell関数伝達パラメータのいくつかの方法

1282 ワード

最近shellにおけるfunctionの伝達変数のいくつかの方式をまとめた.
1.単一変数を渡す
2.配列変数を渡す#!/bin/bash #trying to pass an variable. function func() { echo 'The number of parameters is: ${#}' for line in '$@' do echo '$line' done } function func2() { param1=('${!1}') param2=('${!2}') echo ${param1[*]} echo ${param2[*]} } echo '****************************************************' #1.pass simpl variable. func 'hello' func 'hello' 'world' func 1 2 3 #2.pass array variable echo '*****************************************************' array=(1 2 3) strarray
出力結果は次のとおりです.
The number of parameters is: 1 hello The number of parameters is: 2 hello world The number of parameters is: 3 1 2 3
The number of parameters is: 5 1 2 3 hello world The number of parameters is: 5 1 2 3 hello world
1 2 3 hello world 1 2 3 hello world