bash の =~ は条件式で正規表現の演算子2021年02月28日 11時32分22秒

=~ は bash の演算子。条件式の中で使い、GNU egrep と同じ拡張された正規表現が使える。
% cat int.bash
#!/usr/local/bin/bash

if [[ "$1" =~ ^-?[0-9]+$ ]]; then
  echo "an integer"
else
  echo "not an integer" 
  exit 1
fi
実行結果はこちら。
% bash int.bash 12
an integer
% bash int.bash 12.5
not an integer
% bash int.bash abc
not an integer