Shebang (Unix)

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Shebang je řádek na začátku skriptu začínající znaky křížek a vykřičník, za nimiž (po případné mezeře) je jméno programu, kterým má být skript interpretován (obvykle včetně cesty a někdy i s parametry). Jméno je složeninou z anglických slov sharp a bang (slangové názvy pro znaky křížek a vykřičník). Konstrukce se objevila ve Version 6 Unixu po vytvoření C shellu, který má syntaxi výrazně odlišnou od původního Thompson shellu, aby se odlišilo, jakým shellem má být skript interpretován. Protože množství skriptovacích jazyků stále narůstá a ne vždy je možné odlišit skripty podle syntaxe, je používání shebangu stále důležitější.

Konstrukci shebang využívá i příkaz file pro rozlišování druhů souborů. Má podobnou roli jako signatury a magické konstanty u binárních souborů.

Aby se skript dal spustit pouhým zadáním svého jména, musí být splněny následující podmínky:

Příklady[editovat | editovat zdroj]

Příklady řádků shebang:

  • #!/bin/sh – interpretovat soubor Bourne nebo kompatibilním shellem umístěným v /bin/sh
  • #!/bin/bash – interpretovat soubor interpretem Bash.
  • #!/bin/csh -f – interpretovat soubor interpretem C shell csh nebo kompatibilním shellem; parametr -f potlačí provedení uživatelského .cshrc souboru při startu
  • #!/usr/bin/perl -T – interpretovat soubor programem Perl s parametrem pro rozšířené bezpečnostní kontroly vstupních dat
  • #!/usr/bin/env python – interpretovat programem Python s automatickým vyhledáním cesty k interpretru Pythonu příkazem env

Součástí shebang mohou být i parametry, které budou předány interpretu. Jejich interpretace je však v různých systémech různá, proto se doporučuje používat pouze jeden parametr neobsahující bílé znaky.

Odkazy[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]