Bash: 数字とその他 文字列の判別

数字文字列とそれ以外の文字列を判別する条件式は以下の通り。

スクリプト

#!/bin/sh
if expr "$1" : '[0-9]*' > /dev/null ; then
  echo "数字です"
else
  echo "数字以外です"
fi

実行結果

$ ./if_numstr.sh 123
数字です
$ ./if_numstr.sh abc
数字以外です

内容

exprで正規表現を用いて数値を判定。exprは内部コード以外にも標準出力にも結果を返すので、不要なそれは/dev/nullへリダイレクトする。

コメント

  1. 匿名 より:

    数値が1つでも入っていると 数値です というけど、数値じゃ無いような気がします。

    • yukun より:

      コメント返信が遅れましてすみません。
      ご指摘の通り、数値では無く、文字列データ上の”数字”ですので、本文・記事タイトルを修正しました。ありがとうございます。
      ここ1年超、ブログ更新ができていませんでしたが、また再開したいと思います。引き続きよろしくお願い致します。