このブログを検索

2019/06/12

(bash)配列を完全一致検索したい

変数varに格納された文字列が、配列list内に格納された文字列と完全一致しない場合、スクリプトを終了したいときのbash。
[ ! $(xargs -n1 <<< ${list[@]} | grep -xq "${var}") ] && exit

listが配列ではなくlist=aa,ab,baみたいな変数の場合は、xargsの引数に-d,を追加してデリミタを指定する。
[ ! $(tr " " "¥n" <<< ${list[@]} | grep -xq "${var}") ] && exit

grepの引数に-qをつけると対象が見つかった時点でexitしてしまってxargsでエラーがでるのでtrの方が無難そう。

0 件のコメント:

コメントを投稿