Shebang (Unix)

Znaky dvojitý křížek a vykřičník, které vytvářeji tzv. „shebang“ (též „hash-bang“ nebo „sharp bang“). Za těmito dvěma znaky (na stejném řádku) je uvedena cesta k programu, který má daný skript interpretovat.

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

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

Související články

Externí odkazy

Média použitá na této stránce

Shebang.svg
A shebang, also hash-bang or sharp bang.