在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
场景
我在window上创建了一个脚本直接复制到linux上,
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析原因
这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决方法
- 1、最简单粗暴的方式
1 | 直接删掉,vim重新创建一个内容粘贴过去 |
- 2、在windows下转换:
1 | 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。 |
- 3、也可在Linux中转换:
1 | 首先要确保文件有可执行权限 |
参考链接:
https://www.cnblogs.com/ghj1976/archive/2010/10/12/1848830.html