Linuxシェルで数値入力を確認するには?

Linuxシェルで数値入力を確認するには?

シェルスクリプトの入力がアルファベット文字か文字かを確認したいと思います。どうすればいいですか?

ベストアンサー1

あなたの質問はかなりあいまいなので、次のように推測してみましょう。

#!/bin/bash
input=$1
if [[ -z "$input" || $input == *[^[:digit:]]* ]]; then
    echo "your input '$input' is not a number" >&2
    exit 1
fi
echo "congrats, '$input' is a number"

Bashでは、[[...]]演算子は内部的==パターンマッチングオペレーターだから私たちはそこから数字ではなく文字を探しています。

おすすめ記事