トップページへ

bashで数値を判定する方法

小粋空間 » Programming Language » bash » bashで数値を判定する方法

bashで数値を判定する方法を紹介します。

1.問題点

bashの標準入力で数値の標準入力を受け付けるスクリプトを作りました。

#!/bin/bash
 
read -p "> " data
echo $data

このスクリプトで数値以外の文字が入力された場合のチェック方法がわかりません。

ということでbashで数値を判定する方法を紹介します。

2.数値を判定する

数値を判定するには、exprコマンドを利用します。

#!/bin/bash
 
read -p "> " data
 
if expr "$data" : "[0-9]*$" >&/dev/null; then
    echo "number:$data"
else
    echo "not number"
fi

または

#!/bin/bash
 
read -p "> " data
 
if [[ "$data" =~ ^[0-9]+$ ]]; then
    echo "number:$data"
else
    echo "not number"
fi

3.参考サイト

参考サイトは下記です。ありがとうございました。

シェルスクリプトで数字かどうか判断する方法(exprだけじゃない)

« 前の記事へ

次の記事へ »

トップページへ