我們常會發生下面的情況, 在Linux/Unix編好了一個shell檔或是做了一個conf檔, 然後下載到Windows PC下, 最後再上傳到另外一台Linux的主機, 這時候會發現, shell檔會出現下面錯誤

 bash: ./xxx : bad interpreter:No such file or directory

這其實是因為我們FTP下載下來以後, 文字檔就自動被轉換成DOS模式了, 所以如果我們想要上傳到Linux主機上, 就必需要在windows內用notepad plus轉換成unix格式, 或是傳上linux主機後再執行dos2unix來轉換檔案.

在linux下也可用下面的方法
vi filename
然後用命令
:set ff?
可以看到dos或unix的字樣. 如果的确是dos格式的, 那麼你可以用set ff=unix把它強制為unix格式的, 然后存盤退出. 再運行一遍看.

不過不管那個方法, 都很麻煩, 要再做一次轉換, 下面提供一個一勞永逸的方法: 強制讓FTP用二進位來傳檔

在filezilla裡面的編輯->設定-> 然後在傳輸裡面的檔案類別, 預設的傳輸模式請由"自動"改為"二進位檔案",  這樣子的設定會將所有的檔案當成二進位檔, 所以不會做任何格式的轉換.  反正現在的文字編輯器如editplus 或notepad plus都可以做unix與dos的格式轉換與判斷. 所以, 設完這個後, 再也不用再辛苦的做轉換檔案格式的動作了.