Shell Scripting - Introduction & Shebang
Spisu treści:
- Dyrektywa w sprawie tłumacza Shebang
- Używanie Shebang w skryptach Bash
- Przykładowy skrypt
- Przesłanianie Shebang
- Wniosek
Ta sekwencja znaków (
#!
) Nazywa się shebang i służy do poinformowania systemu operacyjnego, którego interpretera użyć do przeanalizowania reszty pliku.
Dyrektywa w sprawie tłumacza Shebang
Dyrektywa tłumacza Shebang przybiera następującą formę:
#!interpreter
- Dyrektywa musi być pierwszą linią skryptu. Dyrektywa musi zaczynać się od shebang
#!Białe znaki po znakach shebang są opcjonalne. Interpreter to pełna ścieżka do pliku binarnego (np.:/bin/sh,/bin/bash). Argumenty interpretera są opcjonalne.
Przykłady:
-
#!/bin/bash- Używabashdo parsowania pliku.#!/usr/bin/env perl- Używa poleceniaenvdo znalezienia ścieżki do pliku wykonywalnegoperl.#!/usr/bin/pythonWykonuje plik przy użyciu pliku binarnegopython.
Używanie Shebang w skryptach Bash
Jeśli shebang nie jest określony, a użytkownik uruchamiający skrypt Bash używa innej powłoki, skrypt zostanie przeanalizowany przez dowolny domyślny interpreter używany przez tę powłokę. Na przykład domyślnym interpretatorem
bash
jest
bash
a dla
zsh
sh
. Aby mieć pewność, że Twój skrypt będzie zawsze interpretowany za pomocą Bash, musisz określić ścieżkę wykonywalną za pomocą shebang.
Istnieją dwa sposoby użycia dyrektywy Shebang i ustawienia interpretera.
-
Korzystanie z bezwzględnej ścieżki do pliku bash bash:
#!/bin/bashZa pomocą narzędzia
env:#!/usr/bin/env bash
Zaletą zastosowania drugiego podejścia jest to, że będzie szukał pliku wykonywalnego
bash
w zmiennej środowiskowej
$PATH
użytkownika. Jeśli istnieje więcej niż jedna ścieżka do
bash
, skrypt użyje pierwszej.
Podczas korzystania z pierwszej opcji, aby dodać opcję do powłoki Bash, przekaż ją do tłumacza. Na przykład, aby uruchomić skrypt w trybie debugowania, użyj
#!/bin/bash -x
. Jeśli używasz metody
env
, musisz użyć
set
aby zadeklarować opcję. Aby włączyć tryb debugowania, należy dodać
set -x
po linii shebang.
Przykładowy skrypt
Stwórzmy prosty skrypt za pomocą shebang, który wypisze „Hello, World”. Otwórz edytor tekstu i wklej następujący wiersz:
nano hello_world
Witaj świecie
#!/bin/bash echo "Hello, World"
Aby móc uruchomić skrypt bez określania interpretera z wiersza poleceń, musisz wykonać plik:
chmod +x hello_world
Teraz, jeśli możesz uruchomić skrypt, wpisując
./
a następnie nazwę skryptu:
./hello_world
Przesłanianie Shebang
Jeśli z jakiegoś powodu chcesz przesłonić interpreter ustawiony w linii Shebang, musisz uruchomić skrypt, wyraźnie określając żądaną powłokę.
Na przykład, aby uruchomić skrypt, który ma
#!/bin/sh
w wierszu Shebang przy użyciu powłoki
bash
którą napiszesz:
bash hello_world
Uwaga: przesłonięcie interpretera powłoki nie jest dobrym pomysłem, ponieważ może to prowadzić do nieoczekiwanego zachowania skryptu.
Wniosek
Do tej pory powinieneś dobrze rozumieć, czym jest Shebang i jak go używać w skryptach Bash.
terminal bashJak uruchomić Bash w systemie Ubuntu na Windows 10
Włączenie podsystemu Windows w Linuksie pozwoli na uruchomienie Bash w systemie Ubuntu na Windows 10, skrypty Bash , Narzędzia Linuksa do wiersza poleceń, pierwsze narzędzia w Linuksie.
Tablice Bash
Tablice są jedną z najczęściej używanych i podstawowych struktur danych. W tym artykule omówimy tablice Bash i wyjaśnimy, jak ich używać w skryptach Bash.
Bash for loop
Istnieją 3 podstawowe konstrukcje pętli w skryptach Bash, dla pętli, pętli while i pętli till. W tym samouczku omówimy podstawy pętli for w Bash, a także instrukcje break i continu, aby zmienić przepływ pętli.







