我想输入类似" 2.1"," 1.2"," 143.22",......这样的格式:number1。数字2
到目前为止,我已将此代码分隔为number1和number2。
echo -n "Enter value: "
read answer
left=`echo $answer | awk -F "." '{print $1}'` # number1
right=`echo $answer | awk -F "." '{print $2}'` # number2
我不希望用户输入类似" 1.2.3"的内容。如何检查用户是否输入了额外值?
我在考虑这样的事情:
i=3
while true; do
if [ -z "`echo $answer | awk -F "." '{print $i}'"]; then
echo "Invalid input"
i=$((i+1))
done
这会有用吗?
答案 0 :(得分:2)
您可以使用如下表达式简化测试:
if [[ $answer =~ ^[0-9]+\.[0-9]+$ ]]; then
...
fi
HTH,Marcello