linux使用windows中編輯的檔案,格式問題

2021-08-27 18:33:19 字數 679 閱讀 1507

參考:

執行指令碼時出現了這樣乙個錯誤,開啟之後並沒有找到所謂的^m,查了之後才知道原來是檔案格式的問題,也就是linux和windows之間的不完全相容。。。

具體細節不管,如果驗證:

vim test.sh

:set ff?

如果出現fileforma=dos那麼就基本可以確定是這個問題了。

:set fileformat=unix

:wqok了。。。。。。。

bash: ./eth0-access: /bin/bash^m: bad interpreter: 沒有那個檔案或目錄

錯誤分析:

因為作業系統是windows,我在windows下編輯的指令碼,所以有可能有不可見字元。

指令碼檔案是dos格式的, 即每一行的行尾以 來標識, 其ascii碼分別是0x0d, 0x0a.

可以有很多種辦法看這個檔案是dos格式的還是unix格式的, 還是mac格式的

解決方法:

vim filename

然後用命令

:set ff? #可以看到dos或unix的字樣. 如果的確是dos格式的。

然後用:set ff=unix #把它強制為unix格式的, 然後存檔退出。

再次執行指令碼。

LINUX中swap與windows中虛擬記憶體區別

很多朋友在安裝linux的時候會遇到乙個問題,那就是分割槽。其中就有乙個必須要分的區域swap,記憶體交換區域。這個區域的定義幾乎和windows的虛擬記憶體定義一致,都是為了保證在物理記憶體不夠用時,從硬碟中劃出乙個區域用來對記憶體進行補充。幾乎所有安裝linux的教程中都要求劃分這個區域,並且其...

Linux和Windows下使用Syslog庫

本文件描述如何在windows和 linux下使用syslog庫,在linux下gnu庫中已經自帶有syslog庫,但是在windows下的標準庫中沒有syslog庫,從網上可以找到syslog的開源 實現,介面函式基本上與linux一致,並且提供乙個擴充套件函式來設定讀取syslog伺服器的ip位...

在windows中使用linux命令

注意本文講的不是使用wsl或者mingw之類的工具,而是使用更輕量級的busybox來實現在windows中使用一些linux的命令比如ls,wget等 新建文字文件,將下面的 複製進去並將檔案修改字尾為bat,然後執行 rem 因為要把busybox拷到system32,所以先獲取管理員許可權 c...