関数が定義されたローカル配列
isufx+=( -name "*$fltyp" -o )
関数を再度呼び出すと、配列の以前の値はisufx
消去されず、配列は設定されません。代わりに、2番目の関数呼び出しの値が最初の呼び出しの値に追加されます。
isufx
再呼び出し時に配列を更新する方法は?
答え1
伝統的な中括弧を使用する代わりに、サブシェルから関数を生成できます。
my_func () (
local isufx+=( -name "*$fltyp" -o )
do-the-things
)