shell脚本,数字判断问题

aabbabababaa 2019-08-27 02:29:08
read -p "input number:" num
if [ "$num" -ge 0 ] 2>/dev/null


if这一句是怎么判断输入的是数字的?不明白这句意思,有没大佬帮解释下?
...全文
321 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
aabbabababaa 2019-08-27
  • 打赏
  • 举报
回复
引用 8 楼 zhouchao6 的回复:
[quote=引用 7 楼 aabbabababaa 的回复:]
[quote=引用 6 楼 zhouchao6 的回复:]
2>/dev/null 是将错误输出丢到黑洞,也就是你输入的不是整数,if判断的时候会有报错,这里就是把这个错误输出丢弃了。然后你输入的不是整数,条件肯定不成立,也就是else了

明白了,那如果要负数也成立,要用哪个比较参数可以?[/quote]
负整数也可以啊
-eq 等于
-ge 大于等于
-gt 大于等于
-le 小于等于
-lt 小于
-ne 不等于
[/quote]

谢谢兄弟耐心讲解!
zhouchao6 2019-08-27
  • 打赏
  • 举报
回复
引用 7 楼 aabbabababaa 的回复:
[quote=引用 6 楼 zhouchao6 的回复:] 2>/dev/null 是将错误输出丢到黑洞,也就是你输入的不是整数,if判断的时候会有报错,这里就是把这个错误输出丢弃了。然后你输入的不是整数,条件肯定不成立,也就是else了
明白了,那如果要负数也成立,要用哪个比较参数可以?[/quote] 负整数也可以啊 -eq 等于 -ge 大于等于 -gt 大于等于 -le 小于等于 -lt 小于 -ne 不等于
aabbabababaa 2019-08-27
  • 打赏
  • 举报
回复
引用 6 楼 zhouchao6 的回复:
2>/dev/null 是将错误输出丢到黑洞,也就是你输入的不是整数,if判断的时候会有报错,这里就是把这个错误输出丢弃了。然后你输入的不是整数,条件肯定不成立,也就是else了

明白了,那如果要负数也成立,要用哪个比较参数可以?
zhouchao6 2019-08-27
  • 打赏
  • 举报
回复
2>/dev/null 是将错误输出丢到黑洞,也就是你输入的不是整数,if判断的时候会有报错,这里就是把这个错误输出丢弃了。然后你输入的不是整数,条件肯定不成立,也就是else了
wwys 2019-08-27
  • 打赏
  • 举报
回复
不输出错误信息,和条件没有关系
aabbabababaa 2019-08-27
  • 打赏
  • 举报
回复
引用 3 楼 zhouchao6 的回复:
[quote=引用 2 楼 aabbabababaa 的回复:]
[quote=引用 1 楼 zhouchao6 的回复:]
-ge就是两个数字比较 如果不是数字就会报错

-ge只是大于等于0吧? 如果是字母 a b c ,它们的ascii值不是也大于0么?[/quote]
-eq -ge -gt这些都是用来比较数字,而且是整数[/quote]

read -p "input number:" num
if [ "$num" -ge 0 ] 2>/dev/null
then
echo "right num"
else
echo "wrong num"
fi

那这个2>/dev/null 条件是与的关系么?报错后直接走到else?
zhouchao6 2019-08-27
  • 打赏
  • 举报
回复
引用 2 楼 aabbabababaa 的回复:
[quote=引用 1 楼 zhouchao6 的回复:] -ge就是两个数字比较 如果不是数字就会报错
-ge只是大于等于0吧? 如果是字母 a b c ,它们的ascii值不是也大于0么?[/quote] -eq -ge -gt这些都是用来比较数字,而且是整数
aabbabababaa 2019-08-27
  • 打赏
  • 举报
回复
引用 1 楼 zhouchao6 的回复:
-ge就是两个数字比较 如果不是数字就会报错

-ge只是大于等于0吧? 如果是字母 a b c ,它们的ascii值不是也大于0么?
zhouchao6 2019-08-27
  • 打赏
  • 举报
回复
-ge就是两个数字比较 如果不是数字就会报错

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧