您好,匿名用户
随意问技术百科期待您的加入

/usr/bin/python^M: bad interpreter: 没有那个文件或目录?

+3 投票
windows写的脚本程序,在传到linux下,添加执行权限,执行后会提示: /usr/bin/python^M: bad interpreter: 没有那个文件或目录,这个是什么原因造成的,如何解决?
用户头像 提问 2012年 12月5日 @ Hera 上等兵 (249 威望)
分享到:

1个回答

+2 投票
 
最佳答案

分析原因:

这是不同系统编码格式引起的:在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

本文来自:http://www.suiyiwen.com/question/4185

用户头像 回复 2012年 12月5日 @ Oracle 上等兵 (238 威望)
编辑 2012年 12月11日 @Saber
提一个问题:

相关问题

0 投票
1 回复 28 阅读
0 投票
1 回复 95 阅读
0 投票
1 回复 50 阅读
0 投票
1 回复 54 阅读
用户头像 提问 2012年 12月1日 @ Evelynn 上等兵 (244 威望)
0 投票
1 回复 24 阅读
用户头像 提问 2013年 12月13日 @ Nocturne 上等兵 (262 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...