How to solve "/bin/sh^M:bad interpreter: No such file or directory"

1. The issue is because windows and linux has different file system.
2. Use vim to open the file
3. Type :set ff?, you will see the text "fileformat=dos" or "fileformat=unix"
4. if you find the fileformat is dos, then you got the reason of "/bin/sh^M:bad interpreter: No such file or directory"
5. How to solve? It‘s very easy, just need to type :set ff=unix
6. Execute the shell again, everything will be ok.

时间: 2024-10-23 18:12:11

How to solve "/bin/sh^M:bad interpreter: No such file or directory"的相关文章

linux:执行脚本出现/bin/sh^M: bad interpreter: No such file or directory

问题出在^M,原因是脚本文件的编码格式是dos,有可能是我在window下编辑完了直接传到linux的结果,可以在vim中输入以下命令确认编码格式 :set ff //可以看到dos或unix的字样. 如果的确是dos格式的, 那么你可以用set ff=unix把它强制为unix格式的, 然后存盘退出. 再运行一遍看. 也可以在命令行中用dos2unix指令转换编码 #dos2unix filename linux:执行脚本出现/bin/sh^M: bad interpreter: No suc

bin/sh^M: bad interpreter: No such file or directory解决

今天在本地写好的脚本上传到linux后不能运行,显示 bin/sh^M: bad interpreter: No such file or directory 这个错误,后来经过百度到可能是文件有问题: 原因是.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 转行文件的编码格式: 1.确保用户对文件有读写及执行权限 [email protected]:~/RMAN/bin> chmod a+x test.sh 2.然后修改文件格式 (1)使用vi工具 [email 

Linux报错第一弹: /bin/sh^M: bad interpreter: No such file or directory

从Windows Sublime 写好一shell脚本,移到 Linux下,发现报错,/bin/sh^M: bad interpreter: No such file or directory 原因:这是不同系统编码格式引起的:在 windows系统中编辑的 .sh文件可能有不可见字符,所以在 Linux系统下执行会报以上异常信息. 解决: 1)在 windows下转换: 利用一些编辑器如 UltraEdit或 EditPlus等工具先将脚本编码转换,再放到 Linux中执行.转换方式如下( U

[shell编程] sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

转载地址:http://www.cnblogs.com/pipelone/archive/2009/04/17/1437879.html 在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory. 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditP

linux sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory.这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息. 如果我们的脚本是在windows环境下编写的,需要将编码转换称unix格式. 下面我们用Notepad++中Windows,Unix,Mac三种格式之间的转换. 1.我们先查看当前文件格式(换行符用的是什么字符),如图: 2.从

执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法

在windows机器下新建了一个shell脚本如下 sed -i 's/\r$//' checkP.sh

sh脚本异常:/bin/sh^M:bad interpreter: No such file or directory

linux更改脚本编码格式:vi *.sh 通过 :set ff 查看当前格式 再通过 :set ff=unix 更改 然后保存退出(:wq)

运行该脚本出现/bin/sh^M: bad interpreter: No such file or directory

错误中脚本文件的一个非常可能的原因是DOS格的, 即每一行的行尾以\r\n来标识, 其ASCII码各自是0x0D, 0x0A. 能够有非常多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的 在Terminal中输入例如以下: vi filename 然后用命令 :set ff? 能够看到dos或unix的字样. 假设的确是dos格式的, 那么你能够用set ff=mac把它强制为mac格式的, 然后存盘退出. 再执行一遍看. 就会看到"^M"的真身.这时候把对于的&

Shell脚本报错:-bash: ./switch.sh: /bin/bash^M: bad interpreter: No such file or directory

在学习shell中测试case参数命令代码如下 #!/bin/bash #switch测试 case $1 in     start)         echo 'start'     ;;     stop)         echo 'stop'     ;; esac 在给当前shell脚本赋予了执行权限之后,执行报错代码如下 [[email protected] sh]# ./switch.sh stop -bash: ./switch.sh: /bin/bash^M: bad inte