Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 12633|Odgovoriti: 0

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

[Kopiraj povezavo]
Objavljeno na 13. 06. 2020 22:40:35 | | | |
Pri izvajanju shell skripte se vrne naslednja napaka:

-bash: ./log_job.sh: /bin/bash^M: slab interpretator: Ni takšne datoteke ali imenika
Napaka povzroča:

.sh je skripta napisana v sistemu Windows, zato so lahko nevidni znaki; iz zgornjega navodila za napako je zelo verjetno, da je datoteka skripte v DOS formatu, torej je konec vsake vrstice označen z \r\n, njena ASCII koda pa 0x0D 0x0A.

Napaka, ki se prikaže pri izvajanju shell skripte, je predvsem posledica dejstva, da je shell script datoteka v DOS formatu, tj. konec vsake vrstice je označen z \r\n, konec UNIX datoteke pa z \n.

Posebna opomba: ^M ni ^ in črka M, ki ju ustvari premik tipke + 6, je znak, njegov ASCII je 0x0D, način za generiranje je, da najprej pritisnete CTRL+V, nato vnesete (ali CTRL+M)


rešitev

Obstaja več načinov za preverjanje, ali je skriptna datoteka v DOS ali UNIX formatu.

(1) Preverite format skripte: cat -A ime datoteke Iz rezultatov prikaza lahko sklepamo, da je vrstica datoteke, ki se konča v dos formatu, ^M$, in vrstica datoteke, ki se konča v unix formatu, $.



(2) Spremenite format datoteke skripte: vi, da se datoteka odpre in izvede:set ff=unixNastavi datoteko na unix in zaženi:wq, shranjeno v UNIX formatu.

  (3) Preverite format skripte: cat -A ime datoteke Iz rezultata prikaza lahko presodite, da je vrstica datoteke, ki se konča v dos formatu, ^M$, in vrstica datoteke, ki se konča v unix formatu, $.







Prejšnji:SSIS vodič 1 Uvod v integracijske storitve SQL Server
Naslednji:Nginx razdeljevanje in brisanje logov
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com