Jak pisać skrypty Bash do automatyzacji Linuksa

Skrypty Bash to przydatna umiejętność do nauczenia się jako użytkownik Linuksa. Nawet jako początkujący, znajomość tej umiejętności może być różnicą między pełnym wykorzystaniem możliwości maszyny a robieniem wszystkiego ręcznie. Dlatego w tym artykule nauczymy Cię, jak pisać skrypty bash, aby zautomatyzować Linuksa i przejąć pełną kontrolę nad swoim pulpitem. Omówimy podstawy tworzenia skryptów za pomocą powłoki Bash, podstawy tego, co tworzy skrypt, jak go uruchamiać w systemie, co oznaczają shebangs i nie tylko!

Rodzaje skryptów

Istnieje wiele różnych typów skryptów. Głównie: SH i BASH. Te rozszerzenia plików są ważne, ponieważ rozszerzenie pliku mówi interpreterowi, jak je uruchomić. Jeśli plik jest plikiem SH, można go uruchomić w dowolnej powłoce, nie tylko w Bash. Oznacza to, że skrypt napisany dla Bash w systemie Linux może działać na komputerach Mac, BSD i innych miejscach z podobnymi powłokami.

Skrypty używające rozszerzenia BASH są przeznaczone do uruchamiania tylko w Bash. Wystarczy powiedzieć, że twój skrypt z rozszerzeniem pliku bash nie będzie działał w powłoce Fish w systemie Linux ani w żadnej z innych podobnych dostępnych powłok.

Ona wali

Niektóre skrypty w ogóle nie używają rozszerzeń plików. Zamiast tego używają shebang, aby tłumacz zrozumiał, do czego służy skrypt i jak go uruchomić. Podczas pisania scenariusza, shebang ZAWSZE jest na pierwszym miejscu. Jeśli brakuje shebang, często skrypt odmawia uruchomienia, zwłaszcza jeśli nie jest używane żadne rozszerzenie pliku.

O shebang można się wiele nauczyć, ale początkujący nie muszą się nimi martwić. Okazują się przydatne tylko dla zaawansowanych użytkowników Bash, którzy chcą pisać niezwykle złożone narzędzia Bash. Jako początkujący, jedyny shebang, o którym użytkownicy muszą myśleć, to standardowy: #! / Bin / bash

Tworzenie scenariusza Bash

Wielu początkujących myli skrypty bash z rzeczywistym programowaniem. Głównym celem tworzenia skryptów w bash jest łączenie wielu poleceń razem, efektywnie wykonując długie i skomplikowane czynności bez potrzeby wypisywania wszystkiego w powłoce terminala. Jeśli próbujesz poważnie programować w Bash, zatrzymaj się i rozważ rzeczywisty język programowania używany w systemie Linux, taki jak Python.

Aby rozpocząć, otwórz terminal i wprowadź następujące polecenie:

nano myfirstbashscript

Spowoduje to wyświetlenie edytora tekstu Nano. Wewnątrz nano dodaj shebang, aby pomóc tłumaczowi określić, co ma zrobić ze skryptem.

#!/bin/bash

Stąd możemy zrobić wszystko! Na przykład: użytkownik Ubuntu może wykonać prosty skrypt aktualizacji, dodając linie:

sudo apt update;sudo apt upgrade -y

Alternatywnie, inny przykład: zrób ciągły skrypt ping, który będzie działał w tle, jeśli obawiasz się o szybkość sieci.

ping google.com

Dodaj dowolne polecenie (a) do skryptu! Bądź kreatywny!

Po dodaniu tego, co chcesz do swojego skryptu, zapisz go za pomocą nano za pomocą CTRL + O.

Po utworzeniu skryptu czas zaktualizować uprawnienia. W terminalu wykonaj:

sudo chmod +x myfirstbashscript

Uruchamianie skryptów

Aby uruchomić skrypt powłoki, otwórz terminal i wykonaj:

sudo sh script.sh

Aby uruchomić pliki bash, spróbuj:

sudo bash script.bash

Alternatywnie, każdy skrypt, niezależnie od rozszerzenia pliku, można łatwo uruchomić z ./filename w terminalu.

Wszystkie trzy sposoby uruchamiania skryptów działają bardzo dobrze. Biorąc to pod uwagę, użycie ./filename jest najgorszym sposobem, ponieważ skrypty często nie działają, chyba że skrypt bash ma odpowiednie uprawnienia. Ustaw uprawnienia za pomocą:

sudo chmod +x script

Tworzenie skryptu jako pliku binarnego

Aby uruchomić skrypt, po prostu wpisując nazwę pliku w terminalu, musisz uczynić go binarnym. Aby to zrobić, użyj polecenia chmod, aby uczynić go wykonywalnym.

sudo chmod +x

Kiedy skrypt jest oznaczony jako wykonywalny, pora przenieść skrypt tak, aby był dostępny w ścieżce użytkownika. Zrób to za pomocą polecenia MV. Alternatywnie użyj polecenia CP zamiast polecenia move, jeśli chcesz zachować kopię zapasową skryptu w jego pierwotnej lokalizacji.

sudo mv /location/of/script /usr/bin/

lub

sudo cp /location/of/script /usr/bin/

Następnie uruchom nowo przeniesiony skrypt w terminalu, z dowolnego miejsca, po prostu wpisując jego nazwę w terminalu. Na przykład: użyłeś YouTube-DL do napisania automatycznego skryptu do zgrywania z YouTube i umieściłeś go w / usr / bin / dla łatwego dostępu.

Aby uruchomić wspomniany skrypt, wykonaj następujące czynności:

youtubescript

Otóż ​​to!

Wniosek

Nauka języka bash jest użytecznym narzędziem. Bez tego administratorzy systemu i maniacy terminali byliby niewolnikami terminala przez wiele godzin. Zamiast tego mogą pisać skrypty bash, aby zautomatyzować Linuksa. Ucząc się wykorzystywać moc Bash, wypisujesz wszystkie te złożone operacje i szybko wykonujesz je za pomocą skryptu.

Powłoka jest piękna i im więcej się o niej dowiesz, tym więcej dowiesz się o ich własnych systemach Linux, o tym, jak je zautomatyzować, a nawet poprawić wewnętrzne działanie! Z bash nie ma ograniczeń, wystarczy odrobina kreatywności!