Shebang

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Shebang (ang. shebang line, bang path) – sekwencja znaków umieszczana na początku skryptu, a rozpoczynająca się kratką i wykrzyknikiem. Stosowana jest w Uniksie i systemach uniksopodobnych. Tekst następujący po wykrzykniku, aż do pierwszej spacji, to ścieżka do interpretera, który ma zostać użyty w celu wykonania skryptu, na przykład:

#!/usr/bin/python

spowoduje uruchomienie pliku jako programu w Pythonie.

W niektórych wariantach Uniksa możliwe jest też podawanie parametrów, np.:

#!/usr/bin/python -i

co spowoduje wywołanie skryptu, tak jakby z wierszu polecenia wywołać go:

/usr/bin/python -i <nazwa skryptu>

W nowszych wersjach systemów operacyjnych białe znaki pomiędzy #! i ścieżką do interpretera są ignorowane.

Wpisanie #!/usr/bin/env <nazwa interpretera> spowoduje wyszukanie interpretera w zmiennej PATH. Zapewnia to większą przenośność skryptów, które uniezależnia się od bezpośredniej ścieżki do interpretera. Dla przykładu Python może znajdować się w katalogu /usr/bin/python, /usr/local/bin/python lub nawet w katalogu użytkownika, np. /home/username/bin/python.