linux shell script如何判断read命令取得的用户数据长度小于等于4,且为数字?
#!/bin/bash
echo "Please enter: \c"
read INPUT
if [ ${#INPUT} -eq 4 -a "${INPUT//[0-9]/}" = ""野耐 ]
then
echo "银或$INPUT len 4 and all digits"
else
echo "invalid input"锋脊伍
fi
#!/bin/sh
read -p "Input a number: "灶睁 var
# Check if input is a number
expr "$var" + 10 >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo -e "Wrong input!\nMust input a number!"
exit 1
fi
# Check data length if <=4
echo $var|egrep '[0-9]\{1,4\缓银}' >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo -e "Wrong input!\隐哪岁nData length should be no greater than 4!"
exit 1
fi
echo $var
exit 0
#!/bin/bash echo "Please enter: \c" read INPUT if [ ${#INPUT} -eq 4 -a "${INPUT//敏碧[0-9]/}" = "桥缓举哪晌" ] then echo "$INPUT len 4 and all digits" else echo "invalid input" fi
~