Shebang Bash wyjaśnił przykładami

Shebang Bash wyjaśnił przykładami
Bash jest tłumaczem języka poleceń. Wiele systemów operacyjnych zawiera Bash jako domyślny interpreter poleceń, zwłaszcza większość systemów GNU/Linux. Bash Scripting to metoda automatyzacji zestawu poleceń, które w przeciwnym razie byłyby wykonywane interaktywnie jeden po drugim.

W tym przewodniku sprawdź, czym jest Shebang Bash i jak go używać.

Shebang Bash:

W skryptach Bash Shebang to sposób na ogłoszenie, jakiego interpretera będzie użył system operacyjny do przeanalizowania reszty pliku. Shebang charakteryzuje się zestawem postaci „#!" (bez cytatów).

Oto szybki podział dyrektywy tłumacza Shebang.

#! [argumenty]

Na przykład, jeśli skrypt ma zostać przeanalizowany za pomocą powłoki bash, wówczas wyświetlanie dyrektywy tłumacza Shebang wyglądałaby tak.

#!/bin/bash

Dyrektywa tłumacza Shebang ma pewne właściwości.

  • To musi być pierwszy wiersz skryptu.
  • To musi zacząć się od shebang (#!).
  • Po shebang może być biała, ale nie!).
  • Tłumacz będzie pełną ścieżką do pliku binarnego.
  • Mogą być argumenty tłumacza.

Oto krótka lista jednych z najczęstszych dyrektyw tłumaczy Shebang.

  • #!/bin/bash: skrypt zostanie analizowany za pomocą grzmotnąć.
  • #!/usr/bin/python: Skrypt zostanie przeanalizowany za pomocą pyton dwójkowy.
  • #!/usr/bin/env perl: Skrypt zostanie przeanalizowany za pomocą Perl wykonywalny. Lokalizacja Perl wykonywalny będzie dostarczany przez Env Komenda.

Za pomocą bash shebang:

Skrypty nie mogą mieć bash shebang. Każdy taki skrypt zostanie przeanalizowany za pomocą domyślnego interpretera. Na przykład Bash jest domyślnym tłumaczem Bash i SH dla ZSH. Podczas gdy większość systemów UNIX/LINUX ma BASH jako domyślne, użytkownicy mają opcje korzystania z innych. W takim scenariuszu, bez deklarowania tłumacza, skrypt może nie wykonywać swojego preferowanego zadania.

Istnieją dwie metody stosowania dyrektywy w Shebang do zadeklarowania tłumacza. Pierwszym z nich jest zadeklarowanie ścieżki pliku do wykonywalnego.

#!/bin/bash

Inną metodą jest użycie Env narzędzie do zlokalizowania wykonywalnego.

#!/usr/bin/env bash

Zaletą korzystania z narzędzia ENV jest to, że będzie on poszukiwany wykonywalny zgodnie z zmienną środowiskową $ ścieżki bieżącego użytkownika. W tym przykładzie Env będzie szukał bash. Jeśli w zmiennej $ ścieżka jest więcej niż jeden wykonywalny.

Jak wspomniano, Shebang Bash popiera również argumenty wykonywalne. Na przykład, aby użyć Bash z trybem debugowania, dyrektywa Shebang Interpreter wyglądałaby tak.

#!/bin/bash -x

Jeśli chodzi o używanie Env W przypadku bash shebang dodanie argumentu wykonywalnego wymaga użycia opcji „Ustaw”. Na przykład następujący użyć Bash z włączonym trybem debugowania.

#!/usr/bin/env bash
$ set -x

Przykład skryptu:

Omówiliśmy podstawy Shebang Bash. Czas zastosować go do praktyki. Rzućmy okiem na wdrożenie Bash Shebang.

Uruchom wybrany edytor tekstu i wpisz następujący skrypt:

$ #!/bin/sh
$ echo „hello_world_bash”

Zapisz plik. Aby uruchomić skrypt, musi być oznaczony jako wykonywalny. Uruchom następujące polecenie:

$ chmod +xx

Uruchom skrypt:

$ .//

Niezbyt trudne, prawda? Teraz spróbujmy użyć różnych wyrażeń bash shebang. Wypróbuj te podane poniżej:

$ #!/usr/bin/env bash
$ set -x
$ echo "hello_world_bash_debug"

Zastępowanie bash shebang:

Podczas gdy bash shebang definiuje tłumacza do użycia, w niektórych sytuacjach możesz użyć innego interpretera. Możliwe jest zastąpienie tłumacza zdefiniowanego przez skrypt, wyraźnie określając interpretera do powłoki.

Na przykład spójrz na następujący skrypt:

$ #!/bin/sh
$ echo „hello_world_sh”

Domyślnie będzie działać za pomocą cii. Aby uruchomić go za pomocą bash, użyj następującej metody:

$

Zauważ, że w normalnych przypadkach użycia tylko za pomocą domyślnej cii Lub grzmotnąć tłumacz jest wystarczająco dobry, a nadrzędne nie jest istotne.

Końcowe przemyślenia:

Shebang Bash to bardzo prosta koncepcja. W przypadku scenariuszy Bash bardzo ważne jest, aby to zrozumieć i wdrożyć.

Zainteresowany bardziej skryptami Bash? Sprawdź ten przewodnik dla początkującego na temat napisania prostego skryptu Bash.

Szczęśliwy komputer!