LinuxSir.cn,穿越时空的Linuxsir!

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

调试一shell的空格问题

[复制链接]
发表于 2011-12-26 13:55:50 | 显示全部楼层 |阅读模式
["$s" == " abc" or "$s"  == "ABC"]
弄了好久提示有错,后终于查资料得知判断符号 [] 中的表达式最好全都有空格
改为:[ "$s" == " abc" or "$s" == "ABC" ]
终于调试通过........
发表于 2011-12-26 23:30:02 | 显示全部楼层
把[想象为test命令,命令背后自然是需要空格和参数分开。
另外bash参考手册里面的例子,[[ expression ]],  expression前后也是要有空格的.
回复 支持 反对

使用道具 举报

发表于 2011-12-28 21:18:21 | 显示全部楼层
Post by jacuro;2157664
把[想象为test命令,命令背后自然是需要空格和参数分开。

不是把“[”想象成命令,而是“[”就是shell的内置命令:
  1. $ type [
  2. [ is a shell builtin
  3. $
复制代码

你甚至可以看到有个外置版的孪生哥们儿...
  1. $ ls /bin/\[
  2. /bin/[
  3. $
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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