我有两台电脑,一台win10系统,一台Liunx系统。今天在win10上面写了一个ROS程序,拷贝到Linux上面,执行rosrun命令出现异常信息/usr/bin/env python\r no such file or directory。

2.异常原因分析:

一开始以为是sublime的格式设置问题,以为win10和ubuntu里面的缩进格式设置的不一样(TAB和空格),这个问题也曾经困扰过我。后来发现不是这个问题。在百度了该异常代码后发现是DOS系统下和Linux系统下对于换行键的表示不同。

在windows下,用连续的'\r'和'\n'两个字符进行换行。'\r'为回车符,'\n'为换行符,比如原来的'aaabbb'更改为'aaa \n bbb'后输出的结果为:aaa 换行 bbb。

!/usr/bin/env python\r\n

在Linux下,用'\n'进行换行。

!/usr/bin/env python\n

所以windows下的程序会认为#!/usr/bin/env python是一行,而linux会认为#!/usr/bin/env python\r是一行。

3.异常解决

看了很多网上的教程,说用VIM编辑器进行修改,由于我不是很常用VIM编辑器,尝试了几次并没有成功。后来发现可以用dos2unix这个包进行转换。

首先通过apt-get命令安装dos2unix的包,然后通过dos2unix这个命令即可完成转换。

sudo apt-get install dos2unix

dos2unix

同时这篇文章还提供了其他dos2unix命令的相关参数和批量递归修改的方法。

至此解决异常,为了以后不再出现这个问题,记录解决过程以加深印象。

find -name "*" | xargs dos2unix #当前文件的文件全部转换

find public/components/ -name "*" | xargs dos2unix #转换public/components/文件夹下的文件

linux 运行python 看不到异常信息_Linux异常解决:/usr/bin/env python\r no such file or directory...相关推荐

  1. #!/usr/bin/env python与#!/usr/bin/python

    问: 最近在学习Python,有个问题向高手们求解 #!/usr/bin/env python到底有什么作用?有人说只有在UNIX类的系统下才有意义.是不是在windows下就没任何作用呢?它与#!/ ...

  2. Linux的Python文件的开头/usr/bin/env python与/usr/bin/python

    Linux的Python文件的开头/usr/bin/env python与/usr/bin/python还是有点区别的 开头为#!/usr/bin/env python 例如 dstat命令,当/us ...

  3. Linux CentOS安装zsh插件提示/usr/bin/env: python: No such file or directory。

    执行 ./install.py 文件时,提示: /usr/bin/env: python: No such file or directory 查看系统已安装的 python 版本: ➜ ~ ls - ...

  4. python中#!/usr/bin/python与#!/usr/bin/env python的区别

    目的是在运行python脚本的时候告诉操作系统我们要用python解释器去运行py脚本 所以我们在第一句往往会写如下两句中的其中一句: #!/usr/bin/python 或 >#!/usr/b ...

  5. #!/usr/bin/env python与#!/usr/bin/python的区别

    脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单 #!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python ...

  6. Python学习之 !/usr/bin/python 和 !/usr/bin/env python区别

    如果直接采用 python file.py 的方式运行脚本的话,有没有shebang都无所谓,因为我们自己直接指定了该脚本的解释器,即python.但是,如果以 ./file.py 的方式运行的话,一 ...

  7. python env_#!/usr/bin/env python 有什么用?

    我们经常会在别人的脚本或者项目的入口文件里看到第一行是下面这样 #!/usr/bin/python 或者这样 #!/usr/bin/env python 那么他们有什么用呢? 要理解它,得把这一行语句 ...

  8. #!/usr/bin/env python作用

    #!/usr/bin/env python 通常出现在python文件的第一行 ,标明解释器路径,只有在linux才有用. 该行只有./1.py这种方式执行代码才起作用.(而这样执行:python 1 ...

  9. #!/usr/bin/env python

    脚本语言的第一行,目的就是指出,你要用哪个python解释器去运行它 在ROS tutorials中的解释是:在任何一个ROS 节点的python文件顶部都必须有这样一串代码,这第一行代码确保你的文本 ...

最新文章

  1. android get请求最长字符,Android OKHTTP3的GET和POST方法(带basic auth)
  2. cocos creator 安卓原生平台环境_竞技对抗小游戏单挑篮球开发历程 | Cocos技术派第12期...
  3. 06 Java程序员面试宝典视频课程之Javascript
  4. html 形成打印数据,用HTMLTestRunner生成报告,无法打印print的内容
  5. linux if 判断文件数量,linux if判断命令
  6. java 正则 栈溢出_关于Java正则引起的StackOverFlowError问题以及解决方案 | 学步园...
  7. 把一个sql where表达式转化为一个二叉树
  8. ENVI实现归一化建筑物指数(NDBI)实验操作
  9. ThinkPHP5零食商城系统(前后台)
  10. 映美530k驱动不能安装问题
  11. 基于Linux下的英英词典
  12. 2021年嵌入式校招求职经历
  13. 51单片机12864大液晶屏俄罗斯方块 ROTEUS 和51单片机教程(仿真文件+源代码)
  14. Fluent compiled 失败:UDF library you are trying to load (libudf) is not compiled for parallel on the
  15. 袁宝华 oracle,关键词优化难易分析_SEO优化难度分析 - 站长工具
  16. 137、易燃固体的火灾危险性
  17. 程序员--经典10道脑力题
  18. 统计英文句子中有多少个英文单词 单词之间用空格分开
  19. (精)为何使用manven,什么是manven
  20. linux清除指定登录日志,Centos清除系统日志和登录记录-Linux清除系统日志和登录记录的方法-吾爱编程网...

热门文章

  1. 第四章 构建LAMP网站平台、部署企业应用
  2. C1 WPF C1FlexGrid设置样式技巧:单元格设置背景色
  3. Delphi天气预报查询
  4. android通话流程浅析RIL层
  5. CMMI入门 - 通用实践的实施GP 2.1-GP 2.5
  6. 关于科来网络分析系统的激活
  7. 机器视觉 光学工程专业_机器视觉,如何影响世界?光学筛选机技术挑起大梁!...
  8. 计算机在言语康复的应用,实物交互在言语康复训练中的应用.pdf
  9. python怎么重新开始_Python-重新开始游戏
  10. 4.15_strategy_行为型模式:策略模式