Suoritetaan bash-tiedosto virheen bin / bash kanssa: virheellinen tulkki: Ei tällaista tiedostoa tai hakemistoa

Olen hyvin uusi bash ja yritän kirjoittaa ensimmäisen komentosarjan nimeltä hello_world /Users/me/Study/Linux -polulla, jonka vim kirjoitti:

#! bin/bash echo Hello World 

Virhe tapahtuu kuitenkin suoritettaessa:

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

Olen lukenut monia kysymyksiä aiheesta, mutta tunnen silti olevan täysin hukassa. 🙁 Olen erittäin kiitollinen avustasi.

Kommentit

  • kokeile #! /bin/bash ensimmäinen rivi
  • @TedWrigley Thx, joka toimii; mutta miksi?
  • Shebang (#!) vie polun suoritettavaan tiedostoon, ja Unixissa / Linuxissa polut on aloitettava kauttaviiva.

Vastaa

Bash-komentosarjasi ensimmäisen rivin täytyy näyttää tältä.

#!/bin/bash 

Tätä kutsutaan ”shebang-riviksi”, koska kaksi ensimmäistä merkkiä #! ovat shebang . Shebang-rivi kertoo tietokoneelle, mitä suoritettavaa ohjelmaa tulisi käyttää muun komentosarjan tulkitsemiseksi. Tässä tapauksessa kirjoitat bash-komentosarjaa, mutta voit yhtä helposti kirjoittaa Python- tai awk-komentosarja, ja sinun on kerrottava järjestelmälle, mitä tulkkia käytetään sen kielen perusteella, jolla komentosarja on kirjoitettu.

Syy, että shebang-rivisi #! bin/bash ei toimi t on b koska et ole antanut kelvollista polkua (yleensä absoluuttista polkua ) tulkkiin. Jos jätät pois alkuperäisen kauttaviivan /, kuori etsii bin nykyisestä työhakemistosta, mutta ei löydä sitä.

Koska olet vasta aloittamassa bashin oppimista, ehdotan kirjan lukemista. Tämä säästää sinua joutumatta esittämään liikaa kysymyksiä. Cameron Newhamin bash Shellin 3. painoksen oppiminen on varsin hyvä.

Kommentit

  • Huomaa, että välilyönti #!: n jälkeen on merkityksetön – #!/bin/bash ja #! /bin/bash työ ja #!bin/bash tai #! bin/bash toimivat vain, jos olet ensin cd / (niin bin löytyy ). Wikipedia-linkistäsi " Tyhjennä jälkeen! ovat kunnossa "

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *