问题解决: 解释器错误: 没有那个文件或目录
生活随笔
收集整理的这篇文章主要介绍了
问题解决: 解释器错误: 没有那个文件或目录
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
执行一个我写的 perl 脚本,命令行报错:
/usr/bin/perl^M: 解释器错误: 没有那个文件或目录
分析:
UNIX和Linux使用“\n”换行,而Windows用“\r\n”(不是\n\r,已验证).
推测脚本文件在windows下编辑过。用 sed 命令把每行末尾的 \r 去掉。
解决:
sed -i 's/\r$//' filename
解释一下,-i 表示 edit files in place,直接修改原来的文本
s/a/b/ 表示把 a 替换成 b
$表示“结束位置”
所以上面命令的意思是:如果一行以 \r 结尾,就把 \r 替换为空,也就是去掉它。
有人问,不是以 \r\n 结尾吗?
使用 standard sed,您将看不到换行符。这是因为 sed 逐行读取,因此在 sed 模式空间中,当前行文本的末尾没有换行符。换句话说,sed 读取以换行符分隔的数据,并且分隔符不是 sed 脚本所见内容的一部分。
所以,\n 作为分隔符了,所以每行的末尾就是 \r 。
参考资料
如何使用sed检测行尾
总结
以上是生活随笔为你收集整理的问题解决: 解释器错误: 没有那个文件或目录的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: ansys里面自带chemkin_ANS
- 下一篇: atoi(s)函数用法