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
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 ducd /
først (så søppel blir funnet ). Fra Wikipedia-lenken " Blank etter! er OK "
#! /bin/bash
for første linje