sobota,
Sekwencja shebang
Sekwencja shebang (shebang line, bang path) to sekwencja znaków na początku skryptu, informująca system, który interpreter powinien być użyty do wykonania reszty skryptu. Jej autorem był twórca języka C i współtwórca systemu Unix – Dennis Ritchie. Shebang to linia w skrypcie, która zaczyna się od #!
i zawiera informację na temat ścieżki do interpretera, jaki ma być użyty do wykonania kodu. Na przykład #!/bin/bash
informuje system, że skrypt powinien być uruchomiony przy użyciu interpretera Bash. Jest to bardzo istotne, ponieważ mechanizm ten pozwala skryptom być samowystarczalnymi programami. Właściwe użycie shebang może znacząco poprawić przenośność i użyteczność skryptów w różnych środowiskach.
Różne dystrybucje Linuxa mogą instalować ten sam interpreter w różnych lokalizacjach i bezpośrednie wskazanie ścieżki do interpretera może nie być przenośne między różnymi systemami. Receptą na ten problem może być zastosowanie w sekwencji shebang programu env
, np. #!/usr/bin/env bash
. W takim wypadku skrypt automatycznie znajduje interpreter w katalogach zawartych w zmiennej środowiskowej PATH
, co zwiększa przenośność skryptu.
Przykłady użycia shebang
Bash
#!/bin/bash
echo "Witaj w świecie Bash!"
Python
#!/usr/bin/env python3
print("Witaj w świecie Pythona!")
Perl
#!/usr/bin/perl
print "Witaj w świecie Perla!\n";
Skrypt node.js
#!/usr/bin/env node
console.log("Witaj w świecie Node.js!");
Uwagi
- Upewnij się, że używasz prawidłowej ścieżki do interpretera. Na przykład ścieżki do Bash mogą się różnić między systemami (
/bin/bash
,/usr/bin/bash
). - Użyj
env
do zwiększenia przenośności skryptu między systemami. - Zawsze testuj skrypty w różnych środowiskach, jeśli planujesz ich szerokie użycie.