Jag är väldigt ny på att bash och försök skriva det första skriptet med namnet hello_world
i sökvägen till /Users/me/Study/Linux
med innehållet skrivet av vim:
#! bin/bash echo Hello World
Felet uppstår dock när det körs:
-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory
Jag har läst många frågor i frågan men känner mig fortfarande helt förlorad. 🙁 Jag är väldigt tacksam för din hjälp.
Kommentarer
Svar
Den första raden i ditt bash-skript måste se ut så här.
#!/bin/bash
Detta kallas en ”shebang-linje” eftersom de två första tecknen #!
är en shebang . Shebang-raden berättar för datorn vilket körbart program som ska användas för att tolka resten av skriptet. I det här fallet skriver du ett bash-skript, men du kan lika gärna skriva ett skript för python eller awk, och du måste berätta för systemet vilken tolk som ska användas baserat på vilket språk manuset är skrivet på.
Anledningen till att din shebang-rad #! bin/bash
fungerar inte b eftersom du inte har gett en giltig sökväg (vanligtvis en absolut sökväg ) till tolk. Om du utelämnar det initiala snedstrecket /
så letar skalet efter bin
i den aktuella arbetskatalogen men hittar det inte.
Eftersom du precis börjat lära dig bash, föreslår jag att du läser en bok. Detta sparar dig från att behöva ställa för många frågor. Att lära sig bash Shell, 3: e upplagan av Cameron Newham är ganska bra.
Kommentarer
- Observera att utrymmet efter
#!
är oviktigt –#!/bin/bash
och#! /bin/bash
båda arbete och#!bin/bash
eller#! bin/bash
fungerar bara om ducd /
först (så finns bin ). Från din Wikipedia-länk " Tomt efter! är OK "
#! /bin/bash
för första raden