Bashで比較演算子の左側に2つのオペランドを使用する方法

Bashで比較演算子の左側に2つのオペランドを使用する方法

これは:

3.8.13-68.3.4.el6uek.x86_64 #2 SMP Tue Jul 14 15:03:36 PDT 2015 x86_64 x86_64 x86_64 GNU/Linux

bash --version
    GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

私は次の構文に精通しています。

[ $VAR = "iotools" ] || [ $VAR_2 = "iotools" ]

valueを$VAR含めるか、valueを含める必要があります。iotools$VAR_2iotools

以下のように書く方法はありますか?

[ $VAR||$VAR_2 = "iotools" ]

アイデアは、コードが占めるスペースを節約し、2番目の角かっこ内の余分なコードを削除することです。

ベストアンサー1

いいえ、比較の左部分を減らすことはできません。ただし、右側のパターンを使用できます。

[[ iotools == @("$VAR"|"$VAR_2") ]]

この機能を機能させるには、代わり[[ ... ]]に使用する必要があります。[ ... ]バラよりパターンマッチングもっと学ぶman bash

一致を防ぐには、変数を引用符で囲む必要がありますVAR='a|iotools|b'

おすすめ記事