Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Sekwencja shebang

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.

Artykuł: Slackware

Slackware

Artykuł: Virtual Desktop Infrastructure

Virtual Desktop Infrastructure

Artykuł: Wirtualizacja: Overcommitment

Wirtualizacja: Overcommitment

Artykuł: Marc Andreessen

Marc Andreessen

Artykuł: Zakończenie staży

Zakończenie staży

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły