我似乎无法仅允许单个整数输入。 如果有人放了abc,它就会起作用。
但如果有人输入abc123或123abc,它仍会将其视为有效整数
# input to be an integer.
validate_integer(){
if [ ! "$#" -eq "1" ]; then
error "Please enter one numberic value only"
return 1
elif [[ "$1" =~ ^[[:alpha:]]+$ ]]; then
error "Input must be a NUMBER"
return 1
else
return 0
fi
}
答案 0 :(得分:1)
更改此行:
elif [[ "$1" =~ ^[[:alpha:]]+$ ]]; then
到此:
elif ! [[ "$1" =~ ^[[:digit:]]+$ ]]; then
在那里,^[[:digit:]]+$
表示字符串必须由开头到结尾的数字组成,并且长度必须为1个或更多字符。我们用!
否定这一点,以处理字符串不满足此条件(不完全数字)时的情况。