解决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

给TA打赏
共{{data.count}}人
人已打赏
开发数据库电脑运维

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

2023-9-14 19:46:37

开发数据库电脑运维

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

2023-9-14 21:29:54

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索