Shell编程中 if语句判断时怎样写判断条件判断变量a若为整型变量则执行后面的语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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" -le 0 -o "$tt" -ge 0 ] 2>/dev/null
这边是只会做整数的比较,如果$tt不是整数就会产生错误信息,并不比较。然后执行else后面的动作。产生的错误信息可以用2>/dev/null丢掉。
如果是整数则进行[]内的比较,中间的-o表示或者,意思是整数$tt小于等于0或者大于等于0则为真,执行then后面的动作 参考技术A 不知道你说的是不是Bash,默认情况下Bash变量是无类型的,真的判断的话用正则吧
参考资料:http://man.rndz.org/abs_guide_37_cn/
shell 编程if条件判断与if 真假判断
if条件判断与if真假判断
目录:
1.正确写法
2.错误写法
3.总结
一、正确写法
在编写shell脚本时,为简化代码的行号及结构的简约型,通常将命令执行结果和判断通过一条语句进行编写(在C语言编写程序时,经常遇到此种写法),如:
[[email protected] ~]#touch test.sh if useradd root &>/dev/null ; then #如果用户添加成功,则不显示,否则显示用户添加失败 else fi [[email protected] ~]#./test.sh user1 created failed |
二、错误写法
但是如果因记忆失误或编写脚本习惯性,添加[ ]判断时,脚本变为如下:
[[email protected] ~]#touch test.sh if [ useradd user1 &>/dev/null ] ; then #如果用户添加成功,则不显示,否则显示用户添加失败 else fi [[email protected] ~]#./test.sh # user1 created failed [[email protected] ~]#id user1 #用户添加成功,本应该不显示,但显示添加失败 [[email protected] ~]#userdel -r user1 ######################调试模式执行################################################### [[email protected] ~]#bash -x 4.sh + echo ‘user1 created failed‘ #条件判断默认是判断useradd user1添加成功后,命令结果无显示 |
三、总结
总结,在使用if判断及命令执行结果的语法结构时,命令行中间切忌加判断,条件判断必须加条件判断表达式。其本质是,if 真假判断 和 if 条件判断的区别
真假判断 条件判断 if cmd ; then if [ statement ]; then cmd statement cmd statement else else cmd statement cmd statement fi fi |
####################################################################################
###具体详情请咨询微信:QQ767743577 邮箱地址: [email protected],有问必答,有答必应,人人为我,我为人人###
####################################################################################
本文出自 “每天进步一点点,自律” 博客,请务必保留此出处http://wbxue.blog.51cto.com/11831715/1964460
以上是关于Shell编程中 if语句判断时怎样写判断条件判断变量a若为整型变量则执行后面的语句的主要内容,如果未能解决你的问题,请参考以下文章