LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 701|回复: 5

为什么无法使用不等于这种的操作啊

[复制链接]
发表于 2005-6-20 21:57:35 | 显示全部楼层 |阅读模式
[root@localhost root]# test "$one" != "$two"
[root@localhost root]# echo $?
0
上面这样符号表示法就可以表示不等一于
而下面就不行了这是为什么呢?

[root@localhost root]# test "$one" !-eq "$two"
-bash: !-eq: event not found

[root@localhost root]# test "$one" ! -eq "$two"
-bash: test: too many arguments
发表于 2005-6-20 23:56:13 | 显示全部楼层
Post by txkss
[root@localhost root]# test "$one" != "$two"
[root@localhost root]# echo $?
0
上面这样符号表示法就可以表示不等一于
而下面就不行了这是为什么呢?

[root@localhost root]# test "$one" !-eq "$two"
-bash: !-eq: event not found

[root@localhost root]# test "$one" ! -eq "$two"
-bash: test: too many arguments


shell中-eq,-ne,...是数值比较符号,不可用于chars...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-21 17:06:30 | 显示全部楼层
我比较的就是数字啊

keke
回复 支持 反对

使用道具 举报

发表于 2005-6-21 17:10:20 | 显示全部楼层

  1. $ ONE=1
  2. $ TWO=2
  3. $ test $ONE != $TWO
  4. $ echo $?
  5. 0
  6. $ test $ONE == $TWO
  7. $ echo $?
  8. 1
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-21 17:12:24 | 显示全部楼层
我只是在想用符号比较法进行的时候怎么表示不等啊
回复 支持 反对

使用道具 举报

发表于 2005-6-21 22:12:03 | 显示全部楼层
Post by txkss
我比较的就是数字啊

keke


你比较的不是数字!"$ONE", "$TWO"...等等,只要有引号,都是string. 数字必须用!=或=, 另外, 不等是-ne而不是! -eq.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表