问题
shell脚本之前一直执行正常,今天突然报错了:
root@node:~/scripts# sh JavaInstall.sh
JavaInstall.sh: 22: [: unexpected operator
JavaInstall.sh: 32: [: unexpected operator
解决办法
原来Ubuntu下sh连接到dash,不是bash。
dash是啥玩意,不知道。
还是把sh连接到bash吧,执行命令sudo dpkg-reconfigure dash,弹出框选择No。
root@node:~# sudo dpkg-reconfigure dash
正在删除 dash 导致 /bin/sh 转移到 /bin/sh.distrib
正在添加 bash 导致 /bin/sh 转移到 /bin/sh.distrib
正在删除 dash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz
正在添加 bash 导致 /usr/share/man/man1/sh.1.gz 转移到 /usr/share/man/man1/sh.distrib.1.gz