Shebang

From ICO wiki
Revision as of 22:45, 30 November 2017 by Tpeep (talk | contribs)
Jump to navigationJump to search

Shebang on sümbolite jada, mida kasutatakse skriptide alguses ning mis koosneb "trellidest" ehk numbrimärgist ja hüüumärgist (#!). Shebang on tuntud ka nimedega sha-bang, hashbang, pound-bang, ja hash-pling.

Shebang on kasutusel UNIX-tüüpi operatsioonisüsteemide käivitatavates failides. Kui käivitatavas tekstifailis ehk skriptis on kirjeldatud shebang siis kasutatakse shebangi järel kirjeldatud interpretaatorit kogu ülejäänud koodi käivitamiseks. Ehk siis shebang kirjeldab asukoha argumendi, et käivitada skript argumendis kirjeldatud programmis. Näiteks kui skriptis on shebangi järel kirjeldatud /bin/bash, siis programmi laadija kasutab argumenti /bin/bash ja teab, et antud skripti tuleb käivitada bash programmis, mis asub kataloogis /bin.

Üldjuhul ignoreerib interpretaator shebangi, sest numbrimärge(#) on enamus programmeerimis- ja skriptimiskeeltes tähistatud kui kommentaari. Samuti mitmed programmeerimiskeeled, mis ei kasuta numbrimärki kommentaarina, ignoreerivad numbrimärki ja saavad aru shebang funktsioonist.

Kui skriptifailides on shebang kirjeldamata siis üldjuhul kasutatakse interpretaatorina /bin/sh.

Süntaks

Shebang interpretaatori vorm on järgnev:

#!intepretaator [valikulised-argument]

Kus interpretaator tähistab täispikka kataloogi teekonda käivitatavale programmile. Valikuline-argument tähistab käivitatavale programmile kirjeldatud argumenti.


Näited

Mõned shebang näited:

  • #!/bin/sh - Faili käivitamine Bourne shelliga.
  • #!/bin/bash - Faili käivitamine Bash shelliga.
  • #!/usr/bin/perl -T - Faili käivitamine Perl'ga koos "tainted" argumendiga.
  • #!/usr/bin/env python - Faili käivitamine Python'ga, kasutades env'd.

Näidetes on näha, et shebang rida võib sisaldada argumente, mis edastatakse interpretaatorile