shell 常见错误解决办法

1410阅读 0评论2017-09-22 月歌54
分类:系统运维

一、Unbundle.sh: 9: [: y: unexpected operator
shell第9行如下:

点击(此处)折叠或打开

  1. echo -e "Delete the record?[y/n]\n"
  2.         read Answer
  3.         if [ $Answer == 'y' ];then
系统为:Ubuntu 14.0.4

上述shell语句在Centos下不会报错。经查发现:


原因: Ubuntu 默认编译环境是 dash 得换用原始的bash编译 而我编译时候用的命令是 sh If.sh

最后用bash If.sh 就好了

再或者把 == 换成 = 因为dash判断的相等用 = 


根本解决办法:
上述根本原因为dash和bash不兼容。
将/bin/sh 链接为bash
dpkg-reconfigure dash 选NO即可。
此时,/bin/sh 为bash的软链接。
上一篇:nginx https代理http配置
下一篇:bash陷阱