只接受bash中某个范围内的输入

时间:2016-11-28 21:09:30

标签: linux bash shell

我正在写一个快速的bash脚本,我只想接受0-9之间的整数作为输入。我已经看过了,但如果答案存在于某个地方,那么很难道歉。如果其他人有答案,我会删除该帖子。 谢谢

1 个答案:

答案 0 :(得分:1)

#!/bin/bash

while [[ 1 ]] ; do
    echo -n "Enter a number: "
    read input
    if [[ "$input" =~ ^[0-9]$ ]] ; then
        break
    fi
done

echo "Got $input"

请注意,此选项需要支持正则表达式的bash。此外,它显然只允许一个整数,正如您在问题中似乎要求的那样。