Nagyon új vagyok a bash-ban, és megpróbálom megírni az első hello_world
a /Users/me/Study/Linux
útvonalán a vim által írt tartalommal:
#! bin/bash echo Hello World
A hiba azonban végrehajtáskor következik be:
-bash: /Users/me/Study/Linux/hello_world: bin/bash: bad interpreter: No such file or directory
Sok kérdést olvastam a kérdésben, de még mindig teljesen elveszettnek érzem magam. 🙁 Nagyon hálás leszek a segítségedért.
Megjegyzések
Válasz
A bash szkript első sorának így kell kinéznie.
#!/bin/bash
Ezt “shebang-sornak” hívják, mert az első két karakter #!
shebang . A shebang sor megmondja a számítógépnek, hogy mely futtatható programot kell használni a szkript többi részének értelmezéséhez. Ebben az esetben írsz egy bash szkriptet, de ugyanolyan könnyen írhatsz egy szkript a pythonhoz vagy az awk-hoz, és meg kell mondania a rendszernek, hogy melyik tolmácsot használja, annak alapján, hogy a szkript milyen nyelven van írva.
Az oka, hogy a shebang sora #! bin/bash
nem működik a b mert nem adott meg érvényes értelmezési utat (általában egy abszolút utat ) a tolmácshoz. Ha kihagyja a kezdeti perjelet /
, akkor a héj a bin
elemet keresi az aktuális munkakönyvtárban, de nem találja meg.
Mivel csak most kezded el a bash-t tanulni, ezért javaslom elolvasni egy könyvet. Ez megment minket attól, hogy túl sok kérdést kelljen feltennie. Cameron Newham bash Shell 3. kiadásának elsajátítása nagyon jó.
Hozzászólások
- Ne feledje, hogy a
#!
utáni szóköz nem fontos –#!/bin/bash
és#! /bin/bash
egyaránt a work és a#!bin/bash
vagy a#! bin/bash
csak akkor fog működni, ha előszörcd /
(tehát a bin található ). Wikipedia linkedből " Üres után! rendben vannak "
#! /bin/bash
első sor