LinuxSir.cn,穿越时空的Linuxsir!

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

shell不能比较字符串

[复制链接]
发表于 2006-1-26 15:45:29 | 显示全部楼层 |阅读模式
if [ '-z' < "$1" ]
then echo -z \< $1
fi
存为t
执行. t -a
结果会-bash: -a: No such file or directory
如果if [ '$1' < '$1' ]则条件为真
换引号各种方式,都无法判断第1个参数与-z的大小关系。只有==或!=可以:confused:
发表于 2006-1-27 23:20:01 | 显示全部楼层
字符串怎么比大小
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-28 10:42:40 | 显示全部楼层
strcmp()这样的作用啊
回复 支持 反对

使用道具 举报

发表于 2006-2-4 01:14:16 | 显示全部楼层
记得字符串可以比较大小阿  一位位的比较
回复 支持 反对

使用道具 举报

发表于 2006-2-5 14:25:34 | 显示全部楼层
确实很奇怪呀。我的《学习BASH》上似乎认可你的写法。
但是我查了一下man test,发现确实没有用<与>进行比较字符串的说明。

其他兄弟有没有什么说法?
关注中……
回复 支持 反对

使用道具 举报

发表于 2006-2-5 15:28:37 | 显示全部楼层
  1. expr abc \< abcd
  2. expr abcd \< abc
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-2-12 23:44:22 | 显示全部楼层
看了一下test指令,没有字符串比较大小的方法,只有相等或者不相等。LZ贴中的“<”号被sh解释为重定向符号了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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