Rozwiązuj problem Bin/Bash^m Bad Interpreter Brak takiego pliku lub katalogu

Rozwiązuj problem Bin/Bash^m Bad Interpreter Brak takiego pliku lub katalogu
Pracując na różnych platformach systemów operacyjnych, napotkaliśmy pakiet błędów, i.mi., Wykonanie kodowania lub instalacji. Kiedy pracujemy w Bash, możemy napotkać setki osób pokrewnych. Można uwierzyć, że istnieje problem z uprawnieniami i próba wykonania instrukcji CHMOD 777 w celu udzielenia pliku skryptu Bash Wszelkie prawa, ale nie rozwiąże problemu. Jest inicjowany przez powrót powozu „M”. W Linux używany jest symbol linii do wskazania wykończenia linii; Tymczasem dwuparakteryjna kombinacja Cr LF jest używana w systemie Windows. Twój dokument ma końce linii systemu Windows, co powoduje zakłopotanie Linuksa. Zobaczmy dla tego rozwiązania.
$ /bin /bash^m: zły interpreter: brak takiego pliku lub katalogu

W tym samouczku przyjrzymy się rozwiązaniu problemu, który występuje podczas uruchamiania Bash lub.Plik SH w środowisku Linux. Biedny tłumacz to inna nazwa tego błędu. Możesz wierzyć, że jest to ograniczenie uprawnień i spróbuj użyć polecenia CHMOD +X, aby przyznać plik skryptu powłoki wszystkie wymagane uprawnienia, ale to nie rozwiązuje problemu. Skrypt określa, że ​​zostanie uruchomiony za pomocą powłoki „/bin/bash^m”. Nie ma takiego pliku; Zamiast tego używane jest „/bin/bash”. Znak „^m” oznacza powrót powozu.

Znak zasilania linii jest często używany w Linux do wskazania zakończenia linii, podczas gdy sekwencja dwuparakteryjna CR/LF jest często używana w systemach operacyjnych podobnych do systemu Windows. Plik zawiera znaczniki końców linii systemu Windows, co powoduje zakłopotanie Linuksa. W pliku skryptu Bash, jak mogę zobaczyć znaki kodujące CR lub LF? Możesz także wyświetlić znaki końcowe linii jako LFCR lub LFCR według widoku → Pokaż symbol →. Przykład pliku z znakami CR lub LF pokazano poniżej:

Powyższe i poniżej wyświetlacze nie są dostępne w podstawowym edytorze notatnika; Zamiast tego musisz zainstalować Notepad ++, zaawansowaną wersję notatnika. Aby naprawić błąd w systemie operacyjnym systemu Windows, otwórz plik skryptu BASH w edytorze notatnika ++, a następnie przejdź do karty Preferences za pomocą menu Ustawienia poniżej. Zamknij okno po wybraniu UNIX/OSX jako formatu. Następnie zapisz i zamknij plik.

Preferencje → Nowy dokument/domyślny katalog katalogu → Ustawienie → Preferencje → Nowy dokument/domyślny katalog katalogu → Wybierz nowy format dokumentu →

Korzystanie z polecenia Edytora Stream

W UNIX polecenie SED uwzględnia edytora linii po linii i może wykonywać szeroki zakres procedur plików, takich jak skanowanie lub wyszukiwanie, znalezienie i wymiana, wkładanie i usuwanie. Polecenie SED jest najczęściej używane w systemach operacyjnych UNIX i Linux w celu zastąpienia lub znalezienia i wymiany. Usuń postacie CR, które nie powinny tam być. Możesz użyć (SED) Polecenie poniżej na obrazie, aby wykonać to zadanie:

Za pomocą narzędzia DOS2Unix

DOS2Unix to program, który przekształca DOS na UNIX. Aby rozwiązać skrypt powłoki dla systemów operacyjnych UNIX-Linux, zainstaluj narzędzie DOS2Unix, a następnie uruchom polecenie DOS2Unix podane poniżej:

$ dos2Unix nazwa pliku.cii

Jeśli otrzymasz błąd nie znalezionego polecenia, najpierw zainstaluj narzędzie DOS2Unix, uruchamiając poniższe polecenie z powłoki wiersza polecenia Linux:

$ sudo apt-get instaluj DOS2Unix

Możesz użyć polecenia UNIX2DOS do konwersji pliku z powrotem na format DOS.

W pliku skryptu Bash, jak mogę wyświetlić znaki CR LF? Próba pliku, pliku -k i wreszcie polecenie DOS2Unix -ih jak na poniżej ekranu: Plik próba, plik -K, a na koniec polecenie DOS2Unix -ix jak na poniżej ekranu. Dla linii Linux/UNIX „CR” po prostu drukuje tekst.

Możesz go zainstalować w systemie operacyjnym MacOS za pomocą HomeBrew w następujący sposób:

$ Brew Zainstaluj DOS2Unix

Następnie wykonaj poniższe polecenie, aby przekonwertować plik w formacie DOS na format UNIX:

$ dos2Unix nazwa pliku.cii

Jaki jest cel polecenia DOS2Unix

DOS2Unix to narzędzie, które tłumaczy zakończenia linii DOS CR (powrót karetki) +LF (kanał linii) na kodowania linii UNIX w plikach tekstowych LF (kanał linii). Może również przekonwertować znaki UTF-16 i UTF-8. Możesz przetłumaczyć z UNIX na DOS, wykorzystując polecenie UNIX2DOS. Oczekiwanie, to rozwiąże problem, który masz.

Korzystając z edytora vim

Jeśli nie masz zainstalowanego narzędzia DOS2Unix w systemie operacyjnym Linux, możesz użyć edytora VIM, aby przekształcić format skryptu powłoki na UNIX. Użyj kolejnej instrukcji, aby otworzyć plik w VIM Editor:

VI nazwa pliku.cii

LUB

VIM Filename.cii

Jeśli nie jesteś w bieżącym katalogu lub folderze, w którym znajduje się skrypt pliku bash, wpisz pełną ścieżkę katalogu, tak jak ja. Ale jeśli jesteś w tym samym katalogu lub folderze, możesz uruchomić polecenie bezpośrednio, jak podano powyżej. VIM to postępowa forma redaktora VI. Zarówno polecenia VI, jak i VIM wykonują tę samą pracę. Uruchom polecenie pod spodem, aby zmienić format pliku na system operacyjny UNIX:

$: SET FF = UNIX

Następnie, używając poniższych poleceń, wszystkie zmiany są zapisywane i zamykają plik w edytorze, zapisz plik i zamknij go. Teraz skończyłeś. Możesz przekonwertować format skryptu powłoki na UNIX za pośrednictwem dowolnego z opisanych wcześniej podejść. Mamy nadzieję, że powyższe informacje pomogły rozwiązać Twój problem.

$: WQ!

Wniosek

Chodzi o użycie prostych metod rozwiązania problemu „BIN/BASH^M: Zły interpreter: Brak takiego pliku lub katalogu”. Wszystkie zastosowane tutaj przykłady są proste i łatwe do wdrożenia. Mamy nadzieję, że ci się spodoba i dowiedz się więcej z tego.