必ず数値のみ入力してください[重複]

必ず数値のみ入力してください[重複]

データ入力用のシェルスクリプトがあります。ファイルを生成し、さらにステートメントを生成するさまざまなデータ入力の場合も同様です。次のセクションがありますが、入力した値は130、1300、13500などの数字でなければなりませんが、数字だけがあることを確認したいと思います。現在私はこれをしています:

echo -e "Enter loan amount :\c"
read amount
case $amount in
[0-9]) echo $amount >>manual-entry ;;
*)echo " Entered value is not number" ;;
esac

これにより、1つの数字のみを入力できます。私の入力値は1から99999999999の間です。この問題をどのように解決できますか?

ベストアンサー1

これもできます

typeset -i amount
read -rp 'Enter loan amount: ' amount
[[ "$amount" == 0 ]] && echo "enter a positive integer"
echo $amount >>manual-entry

浮動小数点数を入力するとエラーが発生します。文字列を入力すると、金額はゼロに設定されます。

おすすめ記事