以前は、ある変数を生成する際に、扱いに役立ついくつかの助けがありました。変数を関数外で使用可能にする
私が今問題にしているのは、このプロシージャが関数として保持され、宣言がその関数内にあることです。
関数の外で宣言された変数を使用する方法はありますか?私は問題がで
を宣言を使用している...空白行は、上記の機能
getVARS() {
while IFS== read -r name value; do
if [[ $name == \#* ]] || [[ $name == \-\-* ]]; then
echo $name" ignored"
else
declare -x "$name=$value"
fi
done < /home/admin/file.dat
unset IFS
}
を返された別のスクリプトで開催され、このように呼ばれて
. /home/admin/functions
getVARS
echo "$VarA"
これらの変数を関数外で宣言してみてください。こうすれば、関数の範囲内に値が割り当てられ、関数が完了すると値が表示されます。 – FDavidov
変数の保存/復元、または名前付きパイプの使用が可能です。関数の出力を他のコマンドにパイプすることができます。単一の値のみが必要な場合は、値を返すこともできます。 –
コメントありがとうございます。私はファイルから読み込まれたすべての変数を必要としますが、私は理想的にはそれらをきれいさのための関数として保持したいと思っています。私はそれの機能部分を剥ぎ取り、必要に応じてスクリプトにそれを含めることができると思います。 –