解釋器錯誤:沒有那個文件或目錄


場景重現

劇情需要,在Windows7新建了個文本,然后寫了個Shell給同事,然后他拷貝到Ubuntu14.04上去執行,
結果就出現如下異常(手機拍的,抽象了點,勿介):

解釋器錯誤:沒有那個文件或目錄

求解路上

剛剛開始我以為是他電腦解釋器不一致的原因,
然后把解釋器聲明換成了如下2種都試了下:

!/bin/sh

一般這么寫的比較常見

!/bin/bash

第二種是這個,當然還有其他,具體不多說

帶過:這里很多跟我一樣的新手非常容易忘了bin前面的/符號...導致異常

然后執行,還是一樣的錯誤。
同時在他電腦上直接在Terminal執行同樣的命令是沒啥問題的,
想想好像漏了什么。。。

真相大白

據說,在Windows下,默認的文件編譯,每一行的結尾是\n\r,但是在Linux下文件的結尾是\n。
因此在Windows環境下編輯過的文件在Linux下打開看的時候每一行的結尾就會多出來一個字符\r。
常規只是看看文件的情況下,一般沒啥影響,但是執行命令解釋器解析的時候,就會出現本文中的異常。

解決辦法

  • 我反正是直接在Ubuntu下新建一個.sh文件,把命令輸入,執行即可.
  • 話說有什么辦法能直接轉換么?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM