Przewodnik dla początkujących po BASH

click fraud protection

Witamy w drugiej części serii Beginners Guide To BASH, która jest wyjątkowa, ponieważ jest to jedyny samouczek BASH napisany przez początkującego dla początkujących.

Czytelnicy tego przewodnika będą pogłębiać swoją wiedzę i miejmy nadzieję, że pod koniec będą mogli napisać całkiem sprytne skrypty.

Ostatni raz omawialiśmy tworzenie pierwszego skryptu który po prostu wyświetlał słowa „Hello World”. Obejmuje takie tematy jak edytory tekstu, jak otworzyć okno terminala, gdzie umieścić swoje skrypty, jak wyświetlić słowa „Hello World” i kilka drobniejszych punktów na znakach ucieczki, takich jak cytaty ("").

W tej sekcji omówiono parametry wejściowe. Są inni przewodnicy które uczą tego rodzaju rzeczy, ale zbyt często, przeskakują do dość niskopoziomowych rzeczy i mogą dostarczać zbyt wiele informacji.

Skrypt parametrów dodaje personalizację

W skrypcie „Hello World” z ostatniego samouczka wszystko było bardzo statyczne. Scenariusz tak naprawdę nie robił zbyt wiele.

Jak możemy ulepszyć skrypt „Hello World”?

A co ze skryptem, który wita osobę, która go uruchamia? Zamiast „Hello World” powie „Hello Gary”, „Hello Tim” lub „Hello Dolly”.

Bez możliwości zaakceptowania parametrów wejściowych musielibyśmy napisać trzy skrypty "hellogary.sh", "hellotim.sh" i "hellodolly.sh".

Jak stworzyć parametr

Pozwalając naszemu skryptowi na odczytanie parametrów wejściowych, możemy użyć jednego skryptu do powitania każdego.

Aby to zrobić otwórz okno terminala (KLAWISZ KONTROLNY + ALT + T) i przejdź do folderu skryptów, wpisując: (o poleceniu cd)

skrypty cd

Utwórz nowy skrypt o nazwie powitaj.sh, wpisując: (o poleceniu dotykowym)

dotknij powitanie.sh

Otwórz skrypt w swoim ulubionym edytorze, wpisując: (o poleceniu nano)

nano powitanie.sh

Wprowadź następujący tekst w nano:

#!/kosz/bash
echo „cześć $@”

naciskać KLAWISZ KONTROLNY oraz O aby zapisać plik, a następnie KLAWISZ KONTROLNY oraz x aby zamknąć plik.

Podstawowy skrypt Bash w systemie Linux z parametrami

Aby uruchomić skrypt, wpisz następujące polecenie w wierszu poleceń, zastępując swoje imię i nazwisko.

sh powitaj.sh Tim

Jeśli uruchomię skrypt z moim imieniem, wyświetli się napis „Hello Gary”.

Linux uruchamia podstawowy skrypt z parametrami

Pierwsza linia zawiera linię #!/bin/bash, która jest używana do identyfikacji pliku jako skryptu bash.

W drugim wierszu użyto instrukcji echo, aby wywoływać słowo hello, a następnie pojawia się dziwna notacja $@. (o poleceniu echo)

$@ rozwija się, aby wyświetlić każdy wprowadzony parametr wraz z nazwą skryptu. Więc jeśli wpiszesz „sz powitajme.sz tim”, zostaną wyświetlone słowa „hello tim”. Jeśli wpiszesz „greetme.sh tim smith”, zostaną wyświetlone słowa „hello tim smith”.

Korzystanie z poleceń echa

Byłoby miło, gdyby skrypt powitał.sh po prostu przywitał się, używając tylko imienia. Nikt nie mówi „Cześć Gary Newell”, kiedy kogoś spotyka, ale może powiedzieć „Cześć Gary”.

Zmieńmy skrypt tak, aby używał tylko pierwszego parametru. Otwórz skrypt powitalny.sh w nano, wpisując:

nano powitanie.sh

Zmień skrypt tak, aby wyglądał następująco:

#!/kosz/bash
echo „cześć $1”

Zapisz skrypt, naciskając KLAWISZ KONTROLNY oraz O a następnie wyjdź, naciskając KLAWISZ KONTROLNY oraz X.

Skrypt Linux Bash z indywidualnym parametrem

Uruchom skrypt, jak pokazano poniżej (zastąp nazwę swoim):

sz witam. sz gary newell

Kiedy uruchomisz skrypt, powie po prostu „Cześć Gary” (lub miejmy nadzieję „cześć” i jakkolwiek masz na imię).

Linux uruchamia skrypt Bash z jednym parametrem

1 po symbolu $ zasadniczo mówi do polecenia echo, użyj pierwszego parametru. Jeśli zamienisz 1 $ na 2 $, wyświetli się „hello newell” (lub jakkolwiek masz na imię). Możesz również dodać 2 $ po 1 $, aby uzyskać pełną nazwę.

Skrypt Linux Bash z wieloma parametrami

Uruchomienie go z więcej niż jednym parametrem spowoduje wyświetlenie ich w miejscach odpowiadających kolejności ich wprowadzenia.

Linux uruchamia skrypt z wieloma parametrami

Nawiasem mówiąc, jeśli zamienisz $2 na $3 i uruchomisz skrypt tylko z 2 parametrami, wynik będzie po prostu „Hello”.

Jak wyświetlić liczbę użytych parametrów?

Możliwe jest wyświetlanie i obsługa liczby faktycznie wprowadzonych parametrów, a późniejsze samouczki pokażą, jak używać liczby parametrów do celów walidacji.

Aby wyświetlić liczbę wprowadzonych parametrów, otwórz skrypt powitalny.sh (nano powitanie.sh) i zmień tekst w następujący sposób:

#!/kosz/bash
echo "podałeś $# nazwy"
echo „cześć $@”

naciskać KLAWISZ KONTROLNY oraz O zapisać skrypt i KLAWISZ KONTROLNY oraz x wyjść z nano.

Parametry zliczania skryptów Linux Bash

Znak $# w drugim wierszu wyświetla liczbę wprowadzonych parametrów.

Jak dotąd wszystko to było nowe, ale niezbyt przydatne. Kto potrzebuje skryptu, który po prostu wyświetla „cześć”?

Linux uruchamia parametry zliczania skryptów bash

Oświadczenia Echa a Parametry wejściowe

Prawdziwym zastosowaniem instrukcji echo jest dostarczanie użytkownikowi pełnych i znaczących danych wyjściowych. Jeśli możesz sobie wyobrazić, że chcesz zrobić coś skomplikowanego, co wiąże się z poważnym chrupaniem liczb i manipulacji plikami/folderami, przydatne byłoby wyświetlenie użytkownikowi tego, co dzieje się na każdym etapie sposób.

Natomiast parametry wejściowe sprawiają, że skrypt jest interaktywny. Bez parametrów wejściowych potrzebne byłyby dziesiątki skryptów, które robią bardzo podobne rzeczy, ale z nieco innymi nazwami.

Mając to wszystko na uwadze, istnieje kilka innych przydatnych parametrów wejściowych, o których warto wiedzieć, i uwzględnię je wszystkie w jednym fragmencie kodu.

Otwórz swój skrypt powitalny.sh i zmień go w następujący sposób:

#!/kosz/bash
echo "Nazwa pliku: $0"
echo "Identyfikator procesu: $$"
Echo ""
echo "wprowadzono $# nazwy "
echo „cześć $@”

naciskać KLAWISZ KONTROLNY oraz O aby zapisać plik i KLAWISZ KONTROLNY oraz x do wyjścia.

Dodatkowe informacje o skrypcie Linux Bash

Teraz uruchom skrypt (zastąp swoim imieniem i nazwiskiem).

sh pozdrawiam.sh 

Tym razem skrypt wyświetla:

Nazwa pliku: powitanie.sh
Identyfikator procesu: 18595

wpisałeś 2 nazwiska
cześć Gary Newell
Skrypt uruchamiający Linux Bash z dodatkowymi informacjami

$0 w pierwszym wierszu skryptu wyświetla nazwę uruchamianego skryptu. Zauważ, że jest to dolar zero, a nie dolar o.

$$ w drugim wierszu wyświetla identyfikator procesu uruchomionego skryptu. Dlaczego jest to przydatne? Jeśli uruchamiasz skrypt na pierwszym planie, możesz go anulować, po prostu naciskając KLAWISZ KONTROLNY oraz C. Jeśli uruchomiłeś skrypt w tle i zaczął zapętlać się i robić to samo w kółko lub zaczął powodować uszkodzenia systemu, musiałbyś go zabić.

Aby zabić skrypt działający w tle, potrzebujesz identyfikatora procesu skryptu. Czy nie byłoby dobrze, gdyby skrypt podał identyfikator procesu jako część wyników? (o poleceniach ps i kill)

Owinąć...

Na koniec, zanim zakończymy ten temat, ważne jest, aby omówić, dokąd trafiają dane wyjściowe. Za każdym razem, gdy skrypt został uruchomiony do tej pory, dane wyjściowe były wyświetlane na ekranie.

Często zdarza się, że dane wyjściowe skryptu są zapisywane w pliku wyjściowym. Aby to zrobić, uruchom skrypt w następujący sposób:

sh pozdrow.sh gary > pozdrow.log

Symbol > w powyższym poleceniu wyświetla tekst "hello gary" do pliku o nazwie powitanie.log.

Za każdym razem, gdy uruchamiasz skrypt z symbolem >, nadpisuje on zawartość pliku wyjściowego. Jeśli wolisz dołączyć do pliku, zamień > na >>.

Teraz powinieneś być w stanie pisać tekst na ekranie i akceptować parametry wejściowe.