Android

Bash shebang

Shell Scripting - Introduction & Shebang

Shell Scripting - Introduction & Shebang

Tartalomjegyzék:

Anonim

Ezt a karakter sorozatot ( #! ) Shebang-nek hívják, és arra használják, hogy az operációs rendszer megmondja, melyik tolmácsot használja a fájl többi részének elemzésére.

A Shebang tolmácsról szóló irányelv

A Shebang tolmácsról szóló irányelv a következő formában jelenik meg:

#!interpreter

  • Az irányelvnek a forgatókönyv első sorának kell lennie. Az irányelvnek a shebang #! -val kell kezdődnie #! A szóköz karakterek utáni szóköz nem kötelező. Az Interpreter a bináris fájl teljes elérési útja (pl.: /bin/sh , /bin/bash ). Az interpretáló argumentumok nem kötelezőek.

Példák:

  • #!/bin/bash - A bash fájlt elemzi. #!/usr/bin/env perl - az env parancsot használja a perl végrehajtható útjának megkereséséhez. #!/usr/bin/python A fájlt a python bináris használatával python .

Shebang használata a Bash szkriptekben

Ha a shebang nincs megadva, és a Bash-parancsfájlt futtató felhasználó egy másik Shell-t használ, akkor a szkriptet minden elemzi, amelyet az adott Shell az alapértelmezett értelmezőt használ. Például a bash alapértelmezett értelmezője bash és zsh esetén sh . Annak biztosítása érdekében, hogy a szkript mindig értelmezésre kerüljön a Bash segítségével, meg kell adnia a végrehajtható elérési utat a shebang használatával.

Kétféle módon lehet használni a Shebang irányelvet és beállítani a tolmácsot.

  1. A bash bináris értékhez vezető abszolút út felhasználásával:

    #!/bin/bash

    Az env segédprogram használata:

    #!/usr/bin/env bash

A második megközelítés alkalmazásának előnye, hogy a bash végrehajtható bash a felhasználó $PATH környezeti változójában fogja keresni. Ha egynél több út van a bash , akkor az elsőt a szkript fogja használni.

Ha az első opciót használja egy opció hozzáadására a Bash-héjhoz, adja át a tolmácsnak. Például a szkript hibakeresési módban való futtatásához a #!/bin/bash -x . Ha env metódust használ, akkor a set használatával kell deklarálnia az opciót. A hibakeresési mód engedélyezéséhez a set -x a shebang sor után hozzáadja a set -x et.

Példa szkript

Készítsünk egy egyszerű szkriptet a shebang használatával, amely kinyomtatja a „Hello, World” szót. Nyissa meg a szövegszerkesztőt, és illessze be a következő sort:

nano hello_world Helló Világ

#!/bin/bash echo "Hello, World"

A szkript futtatásához anélkül, hogy a parancssorból megadná az értelmezőt, a fájlt végrehajthatóvá kell tennie:

chmod +x hello_world

Most, ha futtathatja a szkriptet a ./ gépelés után, amelyet a szkript neve követ:

./hello_world

Hello, World

A Shebang felülbírálása

Ha valamilyen okból meg akarja utasítani a Shebang sorban található tolmácskészletet, akkor a szkriptet futtatnia kell a kívánt héj kifejezett megadásával.

Például egy olyan szkript futtatásához, amelynek #!/bin/sh fájlja a Shebang sorban van megadva a beírt gépház felhasználásával:

bash hello_world

Felhívjuk figyelmét, hogy nem jó ötlet a shell interpreter felülbírálása, mivel ez a szkript váratlan viselkedéséhez vezethet.

Következtetés

Mostanra jól meg kell értenie, mi a Shebang és hogyan kell használni azt a Bash-parancsfájlokban.

bash terminál