💻

bashで整数かどうかを判断する

2022/07/30に公開

a

方法

if [[ "$1" =~ ^[0-9]+$ ]]; then
  echo 'is number'
else
  echo 'is not number'
fi

説明

$1 はbashスクリプトを実行する際に渡してきた、1番目の引数を指します。

=~ は右辺を正規表現として解釈するための書き方です。

^[0-9]+$ は正規表現になります。^は文字列の一番最初を指します。[0-9]は文字列で0~9という数字の文字を指します。+はその直前にさした文字(つまり0~9のどれか)の1回以上の繰り返しです。$ は文字列の末尾を指します。

if [[ ]]; then はbashのif文と[[構文を表しています。[[構文は条件判断式と呼ばれ、]]で閉じることができます。この内部は通常のテスト構文だけではなく、正規表現の文字も扱うことができます。

参考

GitHubで編集を提案

Discussion