Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 12633|Atsakyti: 0

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

[Kopijuoti nuorodą]
Paskelbta 2020-06-13 22:40:35 | | | |
Vykdant apvalkalo scenarijų, pateikiama ši klaida:

-bash: ./log_job.sh: /bin/bash^M: blogas interpretatorius: Nėra tokio failo ar katalogo
Klaidos priežastys:

.sh scenarijus parašytas "Windows" sistemoje, todėl gali būti nematomų simbolių, iš aukščiau pateikto klaidos raginimo labai tikėtina, kad scenarijaus failas yra DOS formatu, tai yra, kiekvienos eilutės pabaiga identifikuojama \r\n, o jo ASCII kodas yra atitinkamai 0x0D, 0x0A.

Klaida, kuri rodoma vykdant apvalkalo scenarijų, daugiausia atsiranda dėl to, kad apvalkalo scenarijaus failas yra DOS formatu, t.y. kiekvienos eilutės pabaiga identifikuojama \r\n, o UNIX formato failo pabaiga - \n.

Speciali pastaba: ^M nėra ^ ir raidė M, kurią sukuria klavišas shift + 6, tai yra simbolis, jo ASCII yra 0x0D, būdas jį generuoti yra pirmiausia paspausti CTRL+V, o tada įvesti (arba CTRL+M)


sprendimas

Yra keli būdai, kaip patikrinti, ar scenarijaus failas yra DOS ar UNIX formato.

(1) Patikrinkite scenarijaus formatą: cat -A failo pavadinimas Iš rodomų rezultatų galima spręsti, kad failo eilutė, kuri baigiasi dos formatu, yra ^M$, o failo eilutė, kuri baigiasi unix formatu, yra $.



(2) Pakeiskite scenarijaus formatą: vi failo pavadinimas atidaryti failą ir vykdyti:set ff=unixNustatykite failą į unix ir vykdykite:wq, įrašytas UNIX formatu.

  (3) Patikrinkite scenarijaus formatą: cat -A failo pavadinimas Iš rodomo rezultato galite spręsti, kad failo eilutė, kuri baigiasi dos formatu, yra ^M$, o failo eilutė, kuri baigiasi unix formatu, yra $.







Ankstesnis:SSIS pamoka 1 Įvadas į SQL serverio integravimo paslaugas
Kitą:Nginx žurnalo padalijimas ir ištrynimas
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com