bashで文字列または配列を引数として渡す

bashで文字列または配列を引数として渡す

excludesgrepに渡された正規表現のリストである変数があります。

$ echo $excludes
-e re_1 -e re_2 -e re_3...

私は次のことができるようにしたいと思います。

$ my | pipeline | grep -v "${excludes}"

しかし、これはうまくいきません。

grep -v "${excludes[@]}"また、各配列メンバーが「-e blah」の配列を使用してみました。これも機能しません。

このようにプログラムでパラメータを渡すにはどうすればよいですか?

ベストアンサー1

配列は機能しますが、オプションと値を別々の要素として保存する必要があります。

excludes=(-e "regex1" -e "regex2")
grep -v "${excludes[@]}" ...

おすすめ記事