Sono molto nuovo a bash e prova a scrivere il primo script chiamato hello_world
nel percorso di /Users/me/Study/Linux
con il contenuto scritto da vim:
#! bin/bash echo Hello World
Tuttavia, lerrore si verifica durante lesecuzione:
-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory
Ho letto molte domande sul problema ma mi sento ancora totalmente perso. 🙁 Ti sarò molto grato per il tuo aiuto.
Commenti
Risposta
La prima riga del tuo script bash deve essere simile a questa.
#!/bin/bash
Questa è chiamata “riga shebang” perché i primi due caratteri #!
sono shebang . La riga shebang dice al computer quale programma eseguibile dovrebbe essere usato per interpretare il resto dello script. In questo caso stai scrivendo uno script bash, ma potresti scrivere altrettanto facilmente un script per python o awk, e devi dire al sistema quale interprete usare in base alla lingua in cui è scritto lo script.
Il motivo per cui la tua riga shebang #! bin/bash
non funziona è b perché non hai fornito un percorso valido (in genere, un percorso assoluto ) allinterprete. Se ometti la barra iniziale /
, la shell cerca bin
nella directory di lavoro corrente ma “non la trova.
Dato che hai appena iniziato a imparare bash, ti suggerisco di leggere un libro. Questo ti eviterà di dover fare troppe domande. Imparare la shell bash, 3a edizione di Cameron Newham è abbastanza buono.
Commenti
- Tieni presente che lo spazio dopo
#!
non è importante:#!/bin/bash
e#! /bin/bash
entrambi work e#!bin/bash
o#! bin/bash
funzioneranno solo secd /
prima (quindi viene trovato bin ). Dal tuo link di Wikipedia " Vuoti dopo! sono OK "
#! /bin/bash
per prima riga