$ /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.