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!