Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 12633|Odpoveď: 0

[linux] /bin/bash^M: bad interpreter: No such file or directory

[Kopírovať odkaz]
Zverejnené 13. 6. 2020 22:40:35 | | | |
Pri spustení shell skriptu sa vráti nasledujúca chyba:

-bash: ./log_job.sh: /bin/bash^M: zlý interpretátor: Žiadny takýto súbor ani adresár
Chyba spôsobuje:

.sh skript je napísaný v systéme Windows, takže môžu byť neviditeľné znaky, z vyššie uvedeného chybového promptu je veľmi pravdepodobné, že súbor skriptu je vo formáte DOS, teda koniec každého riadku je označený ako \r\n a jeho ASCII kód je 0x0D, 0x0A.

Chyba, ktorá sa zobrazuje pri spustení shell skriptu, je hlavne spôsobená tým, že shell skript súbor je vo formáte DOS, t. j. koniec každého riadku je označený ako \r\n a koniec súboru vo formáte UNIX je označený ako \n.

Špeciálna poznámka: ^M nie je ^ a písmeno M vytvorené posunom klávesu + 6, je to znak, jeho ASCII je 0x0D, spôsob, ako ho vygenerovať, je najprv stlačiť CTRL+V a potom Enter (alebo CTRL+M)


riešenie

Existuje niekoľko spôsobov, ako skontrolovať, či je súbor skriptu vo formáte DOS alebo UNIX.

(1) Skontrolujte formát skriptu: cat -A názov súboru Z výsledkov zobrazenia možno posúdiť, že riadok súboru končiaci vo formáte dos je ^M$ a riadok končiaci v unixovom formáte je $.



(2) Upraviť formát skriptu: názov súboru vi, aby sa súbor otvoril a vykonal:set ff=UnixNastavte súbor na unixový režim a spustite ho:wq, uložené vo formáte UNIX.

  (3) Skontrolujte formát skriptu: cat -A názov súboru Z výsledku zobrazenia môžete posúdiť, že riadok súboru končiaci vo formáte dos je ^M$ a riadok končiaci v unixovom formáte je $.







Predchádzajúci:SSIS tutoriál 1 Úvod do služieb integrácie SQL Serverov
Budúci:Nginx rozdelenie a vymazanie logu
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com