-bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory

在windows系统下写的python脚本,在linux下赋予权限chmod +x xxx.py 以后,执行./xxx.py运行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory

更多文章请点击我

分析:

这是不同系统编码格式引起的:在windows系统中编辑的.sh .py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。一般是因为windows行结尾和linux行结尾标识不同造成的。

解决:

1)在windows下转换: 

利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。

2)linux下直接替换:

sed -i ‘s/^M//g‘  filename (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m)

3)也可在Linux中转换: 

首先要确保文件有可执行权限

#sh>chmod a+x filename

然后修改文件格式

#sh>vi filename

利用如下命令查看文件格式

:set ff 或 :set fileformat

可以看到如下信息

fileformat=dos 或 fileformat=unix

利用如下命令修改文件格式

:set ff=unix 或 :set fileformat=unix

:wq (存盘退出)

最后再执行文件

#sh>./filename

时间: 2024-10-05 22:16:33

-bash: ./****.py: /usr/bin/python^M: bad interpreter: No such file or directory的相关文章

window下编写python脚本在linux下运行出错 usr/bin/python^M: bad interpreter: No such file or directory

今天在windows下使用notepad++写了个python脚本,传到linux服务器执行后提示:-bash: ./logger.py: usr/bin/python^M: bad interpreter: No such file or directory 1.原因分析 这是不同系统编码格式引起的:在windows系统中编辑的logger.py文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息.一般是因为windows行结尾和linux行结尾标识不同造成的,在window中行结

usr/bin/python3^M: bad interpreter: No such file or directory

执行.py时报错:/usr/bin/python3^M: bad interpreter: No such file or directory 1.执行权限的问题 2.python版本的问题 3.python文件格式的错误. 权限问题利用chmod +x ***py即可 版本问题,在执行时或者在py文件中选择好python的版本 格式问题解决过程如下: [email protected]:~/hadoop/hadoopfile$ vi PictureDownloadMapper.py 在vi编辑

/usr/bin/perl^M: bad interpreter: No such file or directory

1.web显示 2.nagios服务端测试 [[email protected] objects]# /usr/local/nagios/libexec/check_nrpe -H 10.0.0.10 -c check_memNRPE: Unable to read output 3.nagios客户端测试 [[email protected] ~]#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1-c check_memNRPE: Unable

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

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

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 

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 file3. 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 o

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