linux中shell比较2个数大小

CodeInfo_ 2013-09-28 11:49:27
#!/bin/sh
#输入2个数a,b
read a
read b
if [ a > b ]
then
echo "a=$a"
echo "b=$b"
echo "a>b"
else
echo "a<b"

输入3,4或者输入4,3
为什么,都不会输入a<b
...全文
6137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiyu1988 2013-09-29
  • 打赏
  • 举报
回复
如果要比较数值大小if [ a > b ],应该是$a和$b,而且[]中没有>比大小的作用,[] 改成[[]],或者使用-gt , -lt
糊涂的小白 2013-09-29
  • 打赏
  • 举报
回复
数字比较大小用 -eq -gt -lt -le -ge >表示重定向,你输入3,4的时候,当前目录会多一个文件"4",输入4,3的时候,会多一个文件"3"。
imGala 2013-09-29
  • 打赏
  • 举报
回复
额,顶楼上的,兄弟们太有耐心了,这个建议看下shell的书,完全是语法都没弄清楚
CodeInfo_ 2013-09-29
  • 打赏
  • 举报
回复
引用 4 楼 ljc007 的回复:
[quote=引用 2 楼 qiyu1988 的回复:] 如果要比较数值大小if [ a > b ],应该是$a和$b,而且[]中没有>比大小的作用,[] 改成[[]],或者使用-gt , -lt
补充一下: []里面是可以用>的,只不过需要转义。(而且它是字符串比较,不是数值比较。) [root@ ~]# [ a \> b ] && echo yes || echo no no [root@ ~]# [ c \> b ] && echo yes || echo no yes[/quote]感谢
CodeInfo_ 2013-09-29
  • 打赏
  • 举报
回复
引用 4 楼 ljc007 的回复:
[quote=引用 2 楼 qiyu1988 的回复:] 如果要比较数值大小if [ a > b ],应该是$a和$b,而且[]中没有>比大小的作用,[] 改成[[]],或者使用-gt , -lt
补充一下: []里面是可以用>的,只不过需要转义。(而且它是字符串比较,不是数值比较。) [root@ ~]# [ a \> b ] && echo yes || echo no no [root@ ~]# [ c \> b ] && echo yes || echo no yes[/quote]感谢
CodeInfo_ 2013-09-29
  • 打赏
  • 举报
回复
引用 1 楼 lisa5001 的回复:
数字比较大小用 -eq -gt -lt -le -ge >表示重定向,你输入3,4的时候,当前目录会多一个文件"4",输入4,3的时候,会多一个文件"3"。
感谢
ljc007 2013-09-29
  • 打赏
  • 举报
回复
引用 2 楼 qiyu1988 的回复:
如果要比较数值大小if [ a > b ],应该是$a和$b,而且[]中没有>比大小的作用,[] 改成[[]],或者使用-gt , -lt
补充一下: []里面是可以用>的,只不过需要转义。(而且它是字符串比较,不是数值比较。) [root@ ~]# [ a \> b ] && echo yes || echo no no [root@ ~]# [ c \> b ] && echo yes || echo no yes
姜小白- 2013-09-29
  • 打赏
  • 举报
回复
规则问题,Linux中定义 < >为输入输出重定向,数字大小的比较为 -eq 等于;-gt 大于;-lt 小于;-le 小于等于;-ge 大于等于;-ne 不等于。比较中读入的变量应为 $a,$b,if [ $a -gt $b ]。
qiyu1988 2013-09-29
  • 打赏
  • 举报
回复
引用 4 楼 ljc007 的回复:
[quote=引用 2 楼 qiyu1988 的回复:] 如果要比较数值大小if [ a > b ],应该是$a和$b,而且[]中没有>比大小的作用,[] 改成[[]],或者使用-gt , -lt
补充一下: []里面是可以用>的,只不过需要转义。(而且它是字符串比较,不是数值比较。) [root@ ~]# [ a \> b ] && echo yes || echo no no [root@ ~]# [ c \> b ] && echo yes || echo no yes[/quote] 好久没这么用都忘记了,感谢补充

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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