Bashの正規表現一致演算子を無効にする方法

Bashの正規表現一致演算子を無効にする方法

Bashには=~正規表現一致演算子があります。ここ以下はこれを使用する例です。

#!/bin/bash

input=$1


if [[ "$input" =~ "[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]" ]]
#                 ^ NOTE: Quoting not necessary, as of version 3.2 of Bash.
# NNN-NN-NNNN (where each N is a digit).
then
  echo "Social Security number."
  # Process SSN.
else
  echo "Not a Social Security number!"
  # Or, ask for corrected input.
fi

否定の場合、私が見たすべての例はelse句に依存します。私の状況に合わせてただ否定一致に興味があります。機能的でない句を作成するより良い方法はありますかif

たとえば、上記の入力にのみ興味がある場合いいえaは社会保障番号ではありません。正しい方法は何ですか?

ベストアンサー1

最上位レベルで否定を実行できます。

if ! [[ …

おすすめ記事