问题解决: 解释器错误: 没有那个文件或目录
生活随笔
收集整理的這篇文章主要介紹了
问题解决: 解释器错误: 没有那个文件或目录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
執行一個我寫的 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)函数用法