Løs utgave bin/bash^m dårlig tolk ingen slik fil eller katalog

Løs utgave bin/bash^m dårlig tolk ingen slik fil eller katalog
Mens vi jobbet med forskjellige operativsystemplattformer, har vi møtt et knippe feil, jeg.e., utføre litt koding eller installasjon. Når vi jobber i bash, kan vi møte hundrevis av bash relaterte feil. Du kan tro at det er et tillatelsesproblem og forsøk på å utføre CHMOD 777 -instruksjonen for å gi bash -skriptfilen alle rettigheter, men den vil ikke løse problemet. Det initieres av vognreturen “M”. Linjesymbolet brukes i Linux for å indikere finishen på en linje; I mellomtiden brukes to-karakterkombinasjonen CR LF i Windows. Dokumentet ditt har Windows -linjene, noe som får Linux til å bli forvirret. La oss se løsningene for det.
$ /bin /bash^m: dårlig tolk: ingen slik fil eller katalog

I denne opplæringen vil vi se på hvordan du løser problemet som oppstår mens du kjører bash eller.SH -fil på et Linux -miljø. Den dårlige tolken er et annet navn for denne feilen. Du kan tro at dette er en tillatelsesbegrensning og prøver å bruke CHMOD +X -kommandoen for å gi Shell -skriptfilen alle nødvendige privilegier, men dette vil ikke løse problemet. Skriptet spesifiserer at det vil bli kjørt ved hjelp av “/bin/bash^m” -skallet. Det er ingen slik fil; I stedet brukes “/bin/bash”. "^M" -karakteren står for vognretur.

Linjefôringskarakteren brukes ofte i Linux for å indikere avslutningen av en linje, mens to-tegnsekvensen CR/LF ofte brukes i Windows-lignende operativsystemer. Filen inneholder Windows Line Endings Markers, som fører til at Linux blir forvirret. Hvordan kan jeg se CR- eller LF -kodende tegn i en bash -skriptfil? Du kan også se linjens sluttkarakterer som LFCR eller LFCR etter visning → Vis symbol → Vis slutt på linjen. Et eksempel på en fil med CR- eller LF -tegn vises nedenfor:

Ovennevnte og under skjermer er ikke tilgjengelige i den grunnleggende Notisblokkredaktøren; I stedet må du installere Notisblokk ++, en avansert versjon av Notisblokk. For å fikse feilen i Windows -operativsystemet, åpner du Bash -skriptfilen i Notepad ++ Editor og går deretter til fanen Innstillinger via innstillingsmenyen som nedenfor. Lukk vinduet etter å ha valgt UNIX/OSX som format. Etterpå lagrer og lukker filen.

Innstillinger → New Document/Standard Directory Tab → Innstilling → Innstillinger → Nytt dokument/standardkatalog -fanen → Valgt nytt dokumentformat →

Bruke Stream Editor Command

I UNIX står SED-kommandoen ut for en linje-for-linje-redigerer, og den kan utføre et bredt spekter av filprosedyrer som skanning eller søking, å finne og erstatte, sette inn og slette. SED-kommandoen er mest brukt i UNIX og Linux-lignende operativsystemer for å erstatte eller finne og erstatte. Slett CR -tegnene som ikke skal være der. Du kan bruke (SED) kommandoen nedenfor på bildet for å utføre denne oppgaven:

Ved å bruke DOS2unix -verktøyet

Dos2unix er et program som konverterer DOS til Unix. For å løse skallskriptet for UNIX-Linux som operativsystemer, installerer du DOS2UNIX-verktøyet og kjører deretter DOS2UNIX-kommandoen gitt nedenfor:

$ dos2unix filnavn.sh

Hvis du får kommandoen ikke funnet feil, må du først installere DOS2unix -verktøyet ved å kjøre kommandoen nedenfor fra et Linux -kommandolinjeskall:

$ sudo apt-get install dos2unix

Du kan bruke Unix2DOS -kommandoen til å konvertere filen tilbake til DOS -format.

Hvordan kan jeg se CR LF -tegn i en bash -skriptfil? Forsøk fil, fil -k og til slutt dos2unix -ih -kommando som på skjermbilde: Forsøk fil, fil -k og til slutt dos2unix -ih -kommando som på skjermen nedenfor. For Linux/Unix -linjen "CR", skriver den ganske enkelt ut tekst.

Du kan installere det på macOS -operativsystem ved hjelp av homebrew som følger:

$ BREW INSTALL DOS2UNIX

Utfør deretter kommandoen nedenfor for å konvertere filen i DOS -format til UNIX -format:

$ dos2unix filnavn.sh

Hva er formålet med kommandoen dos2unix

DOS2UNIX er et verktøy som oversetter Dos Line Endings CR (vognretur) +LF (Line Feed) til Unix Line -kodinger i tekstfiler LF (Line Feed). Det kan også konvertere mellom UTF-16 og UTF-8 tegn. Du kan oversette fra UNIX til DOS mens du bruker UNIX2DOS -kommandoen. Forventet vil dette løse problemet du hadde.

Ved å bruke Vim Editor

Hvis du ikke har DOS2unix -verktøyet installert på Linux -operativsystemet ditt, kan du bruke VIM -redigereren til å transformere Shell -skriptets format til UNIX. Bruk den påfølgende instruksjonen for å åpne filen i VIM -redaktør:

vi filnavn.sh

ELLER

vim filnavn.sh

Hvis du ikke er i den gjeldende katalogen eller mappen der Bash -filskriptet ditt er lokalisert, skriver du inn katalogens fulle vei, som jeg gjorde. Men hvis du er i samme katalog eller mappe, kan du kjøre kommandoen direkte som gitt ovenfor. Vim er en progressiv form for VI -redaktøren. Både VI- og VIM -kommandoer gjør det samme arbeidet. Kjør kommandoen under for å endre filformatet til UNIX -operativsystemet:

$: Sett FF = UNIX

Deretter, ved å bruke kommandoene nedenfor, lagres alle endringer og lukker filen i redigeringsprogrammet, skriv filen og lukker den. Nå er du ferdig. Du kan konvertere formatet til skallskriptet ditt til Unix gjennom noen av tilnærmingene som er beskrevet tidligere. Vi håper informasjonen ovenfor bidro til å løse problemet ditt.

$: WQ!

Konklusjon

Dette handler om bruk av enkle metoder for å løse problemet “BIN/BASH^M: Bad Tolk: Ingen slik fil eller katalog”. Alle eksemplene som brukes her er enkle og enkle å implementere. Vi håper at du liker det og lærer mer av det.