之前在Windows下写好了一个Python脚本,运行没问题,今天在Linux下,脚本开头的注释行已经指明了解释器的路径,也用chmod给了执行权限,但就是不能直接运行脚本。
1 问题1: 报错:: No such file or directory
#!/usr/bin/env python
chmod 777 test.py
解决办法:
用vim打开该sh文件,输入:
:set ff
回车,显示fileformat=dos,重新设置下文件格式:
:set ff=unix
保存退出
2 问题2:Linux 去掉windows换行符
一、使用vi编辑器,vi是类Unix系统下功能强大的编辑器,利用vi,可以替我们解决很多问题:
1. vi 文件名
2.按下 Esc
3. 输入以下字符串: %s/^M//g (注意,^M = Ctrl v + Ctrl m,而不是手动输入^M,注意Ctrl是一直按住,先按字母v,松开v,再按字母m)
4. 直接回车 enter ( ^M 清除成功)
5. :wq! (保存退出)
3、在linux上直接替换把不可见字符去掉 sed -i 's/^M//g' filename (注意^M 在linux 下写法 按^M 是回车换行符,输入方法是按住CTRL+v,松开v,按m,注意Ctrl是一直按住,先按字母v,松开v,再按字母m)
4、在windows上,用UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可