windows下寫的shell腳本在linux執(zhí)行出錯(cuò)的解決辦法
在Windows下寫了一個(gè)shell腳本,上傳到Linux下執(zhí)行時(shí)報(bào)錯(cuò):
-bash: ./test.sh: /bin/sh^M: bad interpreter: No such file or directory
test.sh源碼:
echo "test shell "
由于自己對(duì)shell不太熟悉,找同事溝通了后了解了原委,主要原因是test.sh是我在windows下編輯然后上傳到linux系統(tǒng)里執(zhí)行的。.sh文件的格式為dos格式。而linux只能執(zhí)行格式為unix格式的腳本。因?yàn)樵赿os/window下按一次回車鍵實(shí)際上輸入的是“回車(CR)”和“換行(LF)”,而Linux/unix下按一次回車鍵只輸入“換行(LF)”,所以修改的sh文件在每行都會(huì)多了一個(gè)CR,所以Linux下運(yùn)行時(shí)就會(huì)報(bào)錯(cuò)找不到命令。
我們可以通過vi編輯器來查看文件的format格式。步驟如下:
1.首先用vi命令打開文件
[root@localhost test]# vi test.sh
2.在vi命令模式中使用 :set ff 命令
可以看到改文件的格式為
3.修改文件format為unix
使用vi/vim修改文件format
命令::set ff=unix
或者::set fileformat=unix
然后:wq保存退出就可以了
相關(guān)文章
shell腳本測(cè)試某網(wǎng)段內(nèi)主機(jī)連通性
這篇文章主要介紹了shell腳本測(cè)試某網(wǎng)段內(nèi)主機(jī)連通性,需要的朋友可以參考下2017-10-10shell查找符號(hào)鏈接及其指向目標(biāo)的方法介紹
本文為大家介紹一些處理符號(hào)鏈接的實(shí)踐方法,希望對(duì)大家編寫shell腳本時(shí)帶來一些幫助,有需要的朋友不妨參考下2013-02-02shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H.F. Beebe著)
這篇文章主要介紹了shell腳本學(xué)習(xí)指南[六](Arnold Robbins & Nelson H.F. Beebe著),需要的朋友可以參考下2014-02-02