解决 linux下编译.sh文件报错 “[: XXXX: unexpected operator” 问题
2016-09-10 09:21
441 查看
经常在linux通过编译 .sh文件来生成工程,之前一直都没问题,代码一直都没变,但是今天编译的时候,却提示错误:
然后我就表示很费解,查看我的.sh文件,其中有很多的[] ,都是这些报错,可是之前一直没问题。
后来发现,因为ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash文件名.sh来执行.成功.dash是什么东西,查了一下,应该也是一种shell,貌似用户对它的诟病颇多。
修改sh默认连接到bash的一种方法:
[plain] view
plain copy
![](https://code.csdn.net/assets/CODE_ico.png)
![](https://code.csdn.net/assets/ico_fork.svg)
sudo dpkg-reconfigure dash
选择no 即可!
再次编译!通过!搞定!
然后我就表示很费解,查看我的.sh文件,其中有很多的[] ,都是这些报错,可是之前一直没问题。
后来发现,因为ubuntu默认的sh是连接到dash的,又因为dash跟bash的不兼容所以出错了.执行时可以把sh换成bash文件名.sh来执行.成功.dash是什么东西,查了一下,应该也是一种shell,貌似用户对它的诟病颇多。
修改sh默认连接到bash的一种方法:
[plain] view
plain copy
![](https://code.csdn.net/assets/CODE_ico.png)
sudo dpkg-reconfigure dash
选择no 即可!
再次编译!通过!搞定!
相关文章推荐
- 解决 linux下编译.sh文件报错 “[: XXXX: unexpected operator” 问题
- 解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”
- 解决Linux下编译.sh文件报错 “[: XXXX: unexpected operator”
- 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- 同一段C++代码在win下和linux下同时编译时产生的头文件包含问题及解决
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- 解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”
- 解决在linux下编译32程序出现“/usr/include/gnu/stubs.h:7:27: 致命错误:gnu/stubs-32.h:没有那个文件或目录问题”
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- Lua在 linux下源码编译问题之readline/readline.h:没有那个文件或目录解决方法
- Linux执行.sh文件,提示No such file or directory的问题的解决方法
- 交叉编译错误make: arm-none-linux-gnueabi-gcc:命令未找到 /bin/sh: 1: arm-none-linux-gnueabi-gcc: not found问题解决
- 解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题