Shell编程中 if语句判断时怎样写判断条件判断变量a若为整型变量则执行后面的语句

用的是bash 例如像下面的
echo "input the nummber: "
read tt
if [ "$tt" ~ '/^[1-9][0-9]*$/' ] #这步不会写 如果输入的是整数则执行下面的
then
echo "$tt is an integer"
else
echo "$tt is not an integer"
fi

求大哥大姐们帮忙看看 应该很简单的 我新手 不会

把if [ "$tt" ~ '/^[1-9][0-9]*$/' ] 改成
if [ "$tt" -le 0 -o "$tt" -ge 0 ] 2>/dev/null

这边是只会做整数的比较,如果$tt不是整数就会产生错误信息,并不比较。然后执行else后面的动作。产生的错误信息可以用2>/dev/null丢掉。

如果是整数则进行[]内的比较,中间的-o表示或者,意思是整数$tt小于等于0或者大于等于0则为真,执行then后面的动作
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-08
不知道你说的是不是Bash,默认情况下Bash变量是无类型的,真的判断的话用正则吧

参考资料:http://man.rndz.org/abs_guide_37_cn/

Shell编程中 if语句判断时怎样写判断条件判断变量a若为整型变量则执行后...
if [ "$tt" -le 0 -o "$tt" -ge 0 ] 2>\/dev\/null 这边是只会做整数的比较,如果$tt不是整数就会产生错误信息,并不比较。然后执行else后面的动作。产生的错误信息可以用2>\/dev\/null丢掉。如果是整数则进行[]内的比较,中间的-o表示或者,意思是整数$tt小于等于0或者大于等于0则为真...

代码注入的特征
当m=1,2,3,...时猜测分别猜测第1,2,3,...位的值;n的值是1~9、a~z、A~Z的ASCII值,也就是1~128之间的任意值;admin为系统用户帐号表的名称),若n为某一值i且abc.asp运行正常时,则i对应ASCII码就是用户名某一位值。

相似回答
大家正在搜