解决Linux执行脚本报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录
解决Linux执行脚本报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录
今天在测试loader脚本,按照惯例用wget http://****/loader.sh下载脚本,用chmod 777 loader.sh给脚本赋权,但后面执行脚本时出现了问题。
执行./loader.sh报错:
1 | /bin/bash^M: 坏的解释器: 没有那个文件或目录 |
执行bash loader.sh同样报错:
1 | loader.sh:行5: $'\r': 未找到命令 |
百度搜索得知,Windows换行字符为\n\r,而Linux换行符为\n,所以在Linux中执行脚本时会报错多了\r。
解决方法:
使用下面命令将文件Windows编码中的换行符/n/r替换成Linux下的换行符/n
1 | sed -i 's/\r$//' loader.sh |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 蓝色创想的blog!