Shebang zaczyna się od postaci #! a następnie ścieżka do programu używanego do wykonywania skryptu.
Shebang w Python
Python to język skryptowy. Stąd pozwala nam określić wersję i ścieżkę interpretera Pythona do użycia przez shebang.
Składnia do dodania shebang w Pythonie jest jak pokazano:
#!Interpreter [opcjonalny arg]#! Postacie są używane do oznaczenia początku shebang.
Interpreter pozwala określić ścieżkę do interpretera używanego do uruchamiania skryptu.
Wreszcie argument pozwala określić argument przekazywany do określonego wykonywalnego. W naszym przypadku reprezentuje to tłumacz używany do uruchomienia skryptu.
Jeśli chcesz, aby skrypt został wykonany z najnowszą wersją interpretera Python, dodaj następujący wpis na początku skryptu:
#!/usr/bin/env python3Powyższy shebang mówi systemowi, aby uruchomił skrypt z interpreterą Python 3.
W powyższym przykładzie używamy polecenia/usr/bin/env, aby uzyskać ścieżkę do tłumacza Pythona zamiast ręcznego pisania.
Polecenie ENV pozwala nam wyświetlać i pobierać zmienne środowiskowe, które są w systemie.
Stąd uruchamianie polecenia:
$/usr/bin/env Pythonuruchamia zainstalowany interpreter Python.
Kolejnym przykładem shebang jest to, jak pokazano poniżej:
#!/Home/Debian/Anaconda3/bin/PythonW tym przypadku shebang określa pełną ścieżkę do docelowego interpretera Pythona zamiast pobierać ją ze zmiennej środowiskowej systemu.
Zauważ, że aby uniknąć ręcznego włączenia ścieżki do tłumacza, ponieważ może to prowadzić do błędów, jeśli użytkownik nie ma zainstalowanego interpretera w zestawieniu.
W przypadku scenariusza z kodem Python 2 możesz dodać shebang, jak pokazano:
#!/usr/bin/env python2Inną powszechną i praktyczną funkcją shebang jest poinformowanie systemu, że plik jest wykonywalny bez faktycznego wywoływania Pythona w pliku.
Weźmy prosty przykład. Załóżmy, że mamy plik o nazwie Hello.py,
$ Touch Hello.pyDodaj prostą instrukcję drukowania, jak pokazano:
Drukuj („Cześć, inni maniak!")Zapisz i zamknij plik.
Bez shebang musimy zadzwonić do programu Python, aby uruchomić plik:
$ Python Hello.pyJeśli jednak dodamy shebang
#!/usr/bin/env python3Możemy uruchomić skrypt jako:
$ chmod +x hello.pyDobrą rzeczą w korzystaniu z shebang env jest to, że jest to platforma krzyżowa. Oznacza to, że nie musisz modyfikować shebang dla każdego systemu.
Czy naprawdę potrzebuję shebang
Chociaż shebang są przydatne i mogą zapewnić dodatkową korzyść dla twoich scenariuszy, nie jest to konieczne.
Na przykład, jeśli chcesz uruchomić skrypt jako samodzielny wykonywalny, posiadanie shebang może być bardzo korzystne.
Jeśli jednak chcesz udostępnić swój kod innym programistom, w tym shebang, może prowadzić do problemów, ponieważ nie wszyscy programiści mają podobne środowisko.
Dlatego przed włączeniem shebang do scenariusza pomyśl o tym, jak i kto uruchomi twój skrypt.
Zamknięcie
W tym artykule omówiliśmy koncepcję shebang i jego rolę w skryptach. Zilustrowaliśmy także, jak pracować z Python Shebang.