Utføre bash-fil med Error bin / bash: dårlig tolk: Ingen slik fil eller katalog

Jeg er veldig fersk med å bash og prøv å skrive det første skriptet som heter hello_world i banen til /Users/me/Study/Linux med innholdet skrevet av vim:

#! bin/bash echo Hello World 

Imidlertid oppstår feilen når den kjøres:

-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory 

Jeg har lest mange spørsmål om problemet, men føler meg fortsatt helt tapt. 🙁 Jeg vil være veldig takknemlig for din hjelp.

Kommentarer

  • prøv #! /bin/bash for første linje
  • @TedWrigley Thx, det fungerer; men hvorfor?
  • Shebangen (#!) tar en vei til en kjørbar, og i Unix / linux må banene begynne med et skråstrek.

Svar

Den første linjen i bash-skriptet ditt må se slik ut.

#!/bin/bash 

Dette kalles en «shebang-linje» fordi de to første tegnene #! er en shebang . Shebang-linjen forteller datamaskinen hvilket kjørbart program som skal brukes til å tolke resten av skriptet. I dette tilfellet skriver du et bash-skript, men du kan like gjerne skrive et skript for python eller awk, og du må fortelle systemet hvilken tolk du skal bruke basert på hvilket språk skriptet er skrevet på.

Årsaken til at shebang-linjen din #! bin/bash fungerer ikke er b fordi du ikke har gitt en gyldig sti (vanligvis en absolutt sti ) til tolken. Hvis du utelater den innledende skråstrek /, ser skallet etter bin i gjeldende arbeidskatalog, men finner den ikke.

Siden du akkurat har begynt å lære bash, foreslår jeg at du leser en bok. Dette vil spare deg for å måtte stille for mange spørsmål. Å lære bash Shell, 3. utgave av Cameron Newham er ganske bra.

Kommentarer

  • Merk at mellomrommet etter #! er uviktig – #!/bin/bash og #! /bin/bash begge deler arbeid og #!bin/bash eller #! bin/bash fungerer bare hvis du cd / først (så søppel blir funnet ). Fra Wikipedia-lenken " Blank etter! er OK "

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *