2017-08-09 31 views
0

関数の実行後に定義済みの変数を使用することは可能です。 例:関数内で定義済みの変数を使用

var="host1 host2" 
function test { 
echo $1 
echo $2 
} 
test var host3 

期待される結果がするべき:あなたはあなたにこのコードを持つことができます...

host1 host2 
host3 

未使用のローカルまたは何か他のもののような、その変数を定義する方法がわから

+1

'test" $ var "host3' ?? – Anubis

答えて

3

間接的な参照を伴う関数

testfn() { 
    for v; do 
     echo "${!v:-$v}" 
    done 
} 

var="host1 host2" 

この出力印刷する
testfn var host3 

host1 host2 
host3 

$vに含まれる文字列で変数を参照する"${!v:-$v}"試みをし、それが設定されていない場合は(位置引数文字列である)$vを用います。

+3

おそらくあなたは正しいです。私はそれが質問に表示される方法を望む場合にそれを掲載しました。 – anubhava

+1

これをデファクトにするために私の答えを削除しました! – Inian

+0

@Inianいいえ、それは単純でOPの問題を解決するかもしれないので、あなたの答えを保持する必要があります。 – anubhava

関連する問題