怎么样判断一个变量是数字或字符 shell

用户输入一个值,存放在一个变量中,怎么来判断这个变量里的值是字符还是数字,Shell

对不起,在linux的shell中,一般是bash,在不做运算的时候是不区分变量的类型的,也不需要特别声明。所以实际在脚本中,请按用途给变量赋值,并且在需要重复使用这个变量的时候,重置它(unset)就好了。
个人认为没有必要用shell来测一下它里面放的是什么值。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-07-30
#! /bin/bash

printf "Enter: "
read var
if [[ $var =~ ^[0-9]+$ ]]
then
echo "Number."
elif [[ $var =~ ^[A-Za-z]+$ ]]
then
echo "String."
else
echo "mixed number and string or others "
fi

或者 awk or gawk

#! /bin/bash
printf "Enter: "
read var
echo "$var" | gawk '{
if ($0 ~ /^[0-9]+$/){
print "Number "
} else if ($0 ~ /^[A-Za-z]+$/){
print "String "
} else {
print "Mixed number and string or others"
}
}'本回答被网友采纳
第2个回答  2009-07-29
read input
tst=`echo $input | sed -n "/^[0-9]\+$/p"`
if [ "x$tt" == "x" ]; then
echo no
else
echo yes
fi

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网