當(dāng)我在shell中運(yùn)行how_paras.sh時(shí)莫其,出現(xiàn)了這個(gè)錯(cuò)誤
[root@localhost sbin]# ./how_paras.sh
-bash: ./how_paras.sh: /bin/bash^M: bad interpreter: No such file or directory
-bash: ./how_paras.sh: /bin/bash^M: bad interpreter: No such file or directory 翻譯即:
-bash:./how_paras.sh:/ bin / bash ^ M:糟糕的解釋器:沒(méi)有這樣的文件或目錄
好,那我們來(lái)分析一下嬉橙,為什么會(huì)出現(xiàn)這種情況,這個(gè)問(wèn)題說(shuō)明什么风范,以及如何來(lái)解決它!
情景
之前聚唐,我都是直接在shell中創(chuàng)建,編寫(xiě)腔召,執(zhí)行腳本杆查,都沒(méi)有問(wèn)題。因?yàn)楦杏X(jué)在shell中編寫(xiě)腳本不方便臀蛛。于是使用WinSCP軟件亲桦,將在shell中創(chuàng)建的空腳本,下載到windos系統(tǒng)中浊仆,用我的文本編輯器Notepad++來(lái)編寫(xiě)腳本客峭,將編寫(xiě)好的腳本保存,并上傳到linux系統(tǒng)中去抡柿。最后利用遠(yuǎn)程工具shell鏈接linux系統(tǒng)舔琅,運(yùn)行這個(gè)腳本。
why:為什么會(huì)出現(xiàn)這個(gè)問(wèn)題
問(wèn)題就出在洲劣,我把shell中的腳本下載到windos系統(tǒng)中來(lái)進(jìn)行編輯备蚓。
windos中Notepadd++編輯腳本,使得腳本文件格式為DOS
格式囱稽,即每一行的行位是\r\n
來(lái)標(biāo)識(shí)郊尝。
好,那我打開(kāi)vim編輯器確認(rèn)一下粗悯。
[root@localhost sbin]# vim how_paras.sh
// ... ...此處省略how_paras.sh腳本內(nèi)容
//在命令行模式輸入下面這個(gè)命令
:set ff?
//顯示結(jié)果為
fileformat=dos 1,1 All
總結(jié)
1虚循、打開(kāi)腳本確認(rèn)腳本文件格式:vim xxx.sh
,:set ff?
。xxx.sh代表腳本文件
what:這個(gè)問(wèn)題說(shuō)明什么
出現(xiàn)這個(gè)問(wèn)題說(shuō)明在windos系統(tǒng)和linux系統(tǒng)中的文件格式不一致样傍。
how:如何解決
直接解決方法:
用vim編輯這個(gè)腳本横缔,在命令行模式下,設(shè)置文件的格式衫哥,并保存茎刚。
即vim xxx.sh
,:set ff=unix
或者
在Windos系統(tǒng)中Notepad++軟件中更改,打開(kāi)這個(gè)文件:編輯-->轉(zhuǎn)換為UNIX格式
徹底解決方法:更改Windos系統(tǒng)中Notepad++軟件的文件方式撤逢。改為:NIX格式膛锭。
步驟:
- 打開(kāi)Notepad++:
- 設(shè)置-->首選項(xiàng)-->新建:選擇格式為UNIX;
- 設(shè)置-->首選項(xiàng)-->默認(rèn)目錄:選擇使用新樣式對(duì)話框(無(wú)文件擴(kuò)展名和UNIX支持此功能)
參考鏈接
1、-bash: ./my_script: /bin/bash^M: bad interpreter: No such file or directory [duplicate]
2蚊荣、/bin/bash^M: bad interpreter: No such file or directory