Spisie treści
W bashu dobrze jest też oddzielić rzeczy, na przykład funkcje wspólne dla wszystkich programów, można je przechowywać w jednym zestawie bibliotek, aby później mogły być używane przez inne programy.W tym przykładzie zbudujemy plik biblioteki, w którym umieścimy nasze funkcje i inny, który korzysta z tego pliku. Należy pamiętać o korzystaniu ze ścieżek absolutnych.
W tym celu stworzymy nasz plik biblioteczny, nasz plik biblioteczny, który będzie znajdował się w strategicznym miejscu do jego wykorzystania, w /usr/local/bin nasz plik będzie się nazywał libreriaBash.sh
Otwieramy lub tworzymy go za pomocą edytora tekstu, takiego jak Gedit lub, jeśli jesteś ekspertem, w prostym edytorze poleceń, takim jak nano lub vi. Wewnątrz możemy następujący kod
#! / bin / bash # Plik bibliotek # Tutaj możesz zadeklarować zmienne, jeśli chcesz. #Pokaż teraz funkcję daty i godziny systemowej {czas lokalnyTeraz lokalny czas retTeraz = $ (data + "% d /% m /% Y% H:% M:% S.% s") ret = $? echo $ timeNow} #Wyłącz komputer o godzinie x function shutdown {echo "Czas wyłączenia (min):" odczyt czasu sudo shutdown -h $ czas} #Odinstaluj aplikację, jest ona przekazywana przez parametr i wymaga odinstalowania funkcji użytkownika root {sudo apt-get remove $ application} #jeśli scrot jest zainstalowany możemy robić zrzuty ekranu function screenshots {scrot -e 'mv $ f ~ / Obrazy / scrot / `data +% d-% m-% y_% H:% M: % S`_capture.png.webp '}
Deklarujemy zmienne lokalne funkcji, jeśli tego nie zrobimy, zmienne pasujące do nazwy będą miały wpływ na funkcję i na odwrót.
Kiedy już mamy gotowy plik biblioteki i nie zapominając, że musi mieć atrybuty wykonania, stworzymy nasz program, który będzie korzystał z tej biblioteki.
Zobaczmy teraz zawartość naszego pliku test2.sh
#! / bin / bash # plik test2.sh #dołącz biblioteki ./usr/local/bin/libreriaBash.sh mytime = $ (teraz) echo "przykład wyjścia funkcji bibliotecznej: $ mytime" echo "przykład drugi funkcji bibliotecznej wyjście: $ (teraz) "
Zauważamy również, że funkcje mogą być używane bez przekazywania do zmiennej.
Pamiętaj, że jest bardzo mała różnica między wywołaniem basha w celu włączenia go do naszego programu a wykonaniem basha w innym basha.
#!/bin/bash # plik test2.sh #dołącz biblioteki /usr/local/bin/libreriaBash.sh
Mówimy, że uruchamiamy plik
teraz możemy uruchomić plik ./test2.sh
Możemy więc tworzyć inne pliki skryptów i dodawać funkcjonalności do wcześniej utworzonych bibliotek, na przykład możemy wywołać funkcję przechwytywania ekranów, które już mamy w bibliotekach z nowego skryptu images.sh
#! / bin / bash # plik .sh #dołącz biblioteki ./usr/local/bin/libreriaBash.sh przechwytuje
Możliwości jest wiele, ponieważ inny przykład skryptu bash obejmuje wielokrotne pobieranie, ale przekazywanie pliku tekstowego jako parametru
#! / bin / bash ## wywołaj wget i pobierz to co wskażemy z prędkością jaką mówimy ## i w folderze chcemy clear echo "Możesz wpisać plik tekstowy" echo "z adresami takimi jak: '-i plik .txt '"uśpienie 2 echo -n" Wprowadź adres pobierania: "odczytaj pobieranie uśpij 1 echo" Miejsce docelowe musi być istniejącym folderem na komputerze "echo -n" Wprowadź folder docelowy: "odczytaj miejsce docelowe uśpij 1 echo "Prędkość jest w kb lub mb Np.: 50k 1m" echo "lub wprowadź 0 (zero) dla nieograniczonej ilości" echo -n "Wprowadź prędkość pobierania:" prędkość odczytu sleep 1 wget -c --limit-rate = $ prędkość -P $ destination $ file download = `basename $ download` time = $ (data +% H:% M:% S) echo" Zakończono pobieranie pliku $ w $ destination o godzinie $ "] sen 3
Zaletą jest to, że możemy mieć wiele bibliotek do pracy z plikami, katalogami, serwerami, instalować lub odinstalowywać programy, monitorować zasoby lub wykonywać powtarzające się zadania bez konieczności ponownego wprowadzania całego kodu.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt