カスタムJBossをインストールするBashスクリプトがあります。 JBossインスタンス名を正規表現と比較して有効な名前であることを確認してください。
if [[ ! $1 =~ $instanceNameRegex ]]; then
exit 1
fi
これで、2番目の有効な正規表現が必要です。つまり、名前はまた$instanceNameRegex
はと一致する必要があります$secondInstanceNameRegex
。
if
テストでどのようにこれを達成できますか?私はこれを探していますが、動作させることはできません。
if [[ [ ! $1 =~ $instanceNameRegex ] -a [ ! $1 =~ $secondInstanceNameRegex ] ]]; then
つまり、引数が最初の正規表現と一致せず、2 番目の正規表現と一致しない場合は終了します。
答え1
あなたはできます
if [[ ! $1 =~ $instanceNameRegex && ! $1 =~ $secondInstanceNameRegex ]]; then
私は次を使うでしょう:
if [[ ! ( $1 =~ $instanceNameRegex || $1 =~ $secondInstanceNameRegex ) ]]; then
答え2
これはあなたに役立ちます:
if [[ ! $1 =~ "${instanceNameRegex}|${secondInstanceNameRegex}" ]]; then