Linux异常解决:/usr/bin/env python\r no such file or directory

本文分享了在Windows和Linux间移植ROS程序时遇到的'/usr/bin/envpython nosuchfileordirectory'异常,详细分析了异常原因,并提供了解决方案,包括使用dos2unix工具进行文件格式转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.异常发生背景:

我有两台电脑,一台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 <filename>

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值