-bash: ./easydev.sh: /bin/bash^M: bad interpreter: No such file or directory

文章讲述了在Linux中执行.sh脚本时遇到的-badinterpreter错误,原因是脚本可能是dos格式,行尾包含^M。作者提供了检查和转换文件格式的方法,即使用`cat-A`查看行尾,然后用`sed`移除^M,确保以Unix格式执行。
摘要由CSDN通过智能技术生成

linux 执行sh脚本时 报错-bash: /home/xxx.sh: /bin/bash^M: bad interpreter: No such file or directory

[root@jhjg116 bin]# /opt/easydev/bin/easydev.sh start
-bash: /opt/easydev/bin/easydev.sh: /bin/bash^M: bad interpreter: No such file or directory

 检查该文件的格式 【dos格式的文件行尾为^M$,unix格式的文件行尾为$ 】

cat -A xxx.sh

#!/bin/bash^M$
PATH=/sbin:/usr/sbin:/bin:/usr/bin^M$
JAVA_HOME=/opt/dtstack/java^M$
PATH=$JAVA_HOME/bin:$PATH^M$

sed -i "s/\r//" xxx.sh

#!/bin/bash^$
PATH=/sbin:/usr/sbin:/bin:/usr/bin^$
JAVA_HOME=/opt/dtstack/java^$
PATH=$JAVA_HOME/bin:$PATH^$

然后就可以执行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值