解决Linux执行脚本报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录

今天在测试loader脚本,按照惯例用wget http://****/loader.sh下载脚本,用chmod 777 loader.sh给脚本赋权,但后面执行脚本时出现了问题。

执行./loader.sh报错:

/bin/bash^M: 坏的解释器: 没有那个文件或目录
解决Linux执行脚本报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录

执行bash loader.sh同样报错:

loader.sh:行5: $'\r': 未找到命令
loader.sh:行7: $'\r': 未找到命令
loader.sh:行15: 未预期的符号 $'{\r'' 附近有语法错误 'oader.sh:行15:workerdir( ){
解决Linux执行脚本报错 /bin/bash^M: 坏的解释器: 没有那个文件或目录

百度搜索得知,Windows换行字符为\n\r,而Linux换行符为\n,所以在Linux中执行脚本时会报错多了\r。

解决方法:

使用下面命令将文件Windows编码中的换行符/n/r替换成Linux下的换行符/n

sed -i 's/\r$//' loader.sh
技术

Windows启动时开机logo变形的解决方法

2021-8-28 6:53:57

Linux技术

php composer.phar install大量报错could not be found in any version, there may be a typo in the package name

2021-9-1 20:11:37