Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12633|Odpowiedź: 0

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

[Skopiuj link]
Opublikowano 13.06.2020 22:40:35 | | | |
Podczas wykonywania skryptu powłoki zwracany jest następujący błąd:

-bash: ./log_job.sh: /bin/bash^M: zły interpreter: Brak takiego pliku ani katalogu
Błąd powoduje:

.sh skrypt jest napisany w systemie Windows, więc mogą występować znaki niewidoczne, z powyższego promptu błędu bardzo prawdopodobne jest, że plik skryptu jest w formacie DOS, czyli koniec każdej linii jest oznaczony jako \r\n, a jego kod ASCII to 0x0D, 0x0A odpowiednio.

Błąd wyświetlany podczas uruchamiania skryptu powłoki wynika głównie z faktu, że plik skryptu powłoki jest w formacie DOS, tzn. koniec każdej linii jest oznaczony jako \r\n, a koniec pliku w formacie UNIX jako \n.

Uwaga specjalna: ^M nie jest ^ i literą M powstałą przez przesunięcie + 6, jest to znak, jego ASCII to 0x0D, sposób na jego wygenerowanie to najpierw naciśnięcie CTRL+V, a następnie Enter (lub CTRL+M)


rozwiązanie

Istnieje kilka sposobów na sprawdzenie, czy plik skryptu jest w formacie DOS czy UNIX.

(1) Sprawdź format skryptu: cat -A nazwa pliku Na podstawie wyników wyświetlania można stwierdzić, że linia pliku kończąca się formatem dos to ^M$, a linia końcowa w formacie unix to $.



(2) Zmodyfikuj format skryptu: nazwa pliku vi, aby otworzyć plik i wykonać go:set ff=UnixUstaw plik na Unix i wykonaj:wq, zapisane w formacie UNIX.

  (3) Sprawdź format skryptu: cat -A nazwa pliku Na podstawie wyniku wyświetlania możesz ocenić, że linia pliku kończąca się formatem dos to ^M$, a linia pliku kończąca się w formacie uniksowym to $.







Poprzedni:Tutorial SSIS 1 Wprowadzenie do usług integracyjnych SQL Server
Następny:Nginx rozkład logów i usuwanie
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com