10 Przydatne wskazówki dotyczące pisania skutecznych skryptów bash w Linux

10 Przydatne wskazówki dotyczące pisania skutecznych skryptów bash w Linux

Skrypty powłoki to najłatwiejsza forma programowania, którego można się nauczyć/zrobić w Linux. Co więcej, jest to niezbędna umiejętność administracji systemu do automatyzacji zadań, opracowywania nowych prostych narzędzi/narzędzi, aby wymienić tylko kilka.

W tym artykule podzielimy się 10 przydatnymi i praktycznymi wskazówkami dotyczącymi pisania skutecznych i niezawodnych scenariuszy Bash i obejmują one:

1. Zawsze używaj komentarzy w skryptach

Jest to zalecana praktyka, która jest nie tylko stosowana do scenariuszy powłoki, ale wszystkich innych rodzajów programowania. Pisanie komentarzy w skrypcie pomaga Tobie lub niektórym innym przechodzeniu przez skrypt zrozumienie, co robią różne części scenariusza.

Na początek komentarze są zdefiniowane za pomocą # podpisać.

#TecMint to najlepsza strona dla wszystkich artykułów Linux 

2. Zrób wyjście skryptu, gdy się nie powiedzie

Czasami Bash może nadal wykonywać skrypt, nawet gdy pewne polecenie się nie powiedzie, wpływając w ten sposób na resztę skryptu (może ostatecznie spowodować błędy logiczne). Użyj poniższego wiersza, aby wyjść z skryptu, gdy polecenie się nie powiedzie:

#LET SCRIPT Wyjdź, jeśli polecenie nie powiedzie się --o errexit lub set -e 

3. Zrób wyjście skryptu, gdy Bash używa niezgłoszonej zmiennej

Bash może również spróbować użyć niezgłoszonego skryptu, który może spowodować błąd logiczny. Dlatego użyj następującego wiersza, aby poinstruować BASH, aby wyjść z skryptu, gdy próbuje użyć niezgłoszonej zmiennej:

#LET SCRIPT Wyjście Jeśli używana jest zmienna UNESPED, ustaw -o rzeczownik lub set -u 

4. Użyj podwójnych cytatów, aby odniesienie do zmiennych

Korzystanie z podwójnych cytatów podczas odniesienia (przy użyciu wartości zmiennej) pomaga zapobiegać podziałowi słów (w odniesieniu do białej listy) i niepotrzebnego globbingu (rozpoznawanie i rozszerzanie wieloznacznych).

Sprawdź poniższy przykład:

#!/bin/bash #Let script exit Jeśli polecenie nie powiada się --o errexit #LET Script Wyjście Jeśli używana jest zmienna UNSESPED -Nazwy echo „Nazwy echo” bez podwójnych cytatów = „TecMint FossMint Linusay” dla nazwy w nazwach $ ; echo „$ name” DODODOWE ECHO ”Nazwy z podwójnymi cytatami„ echo dla nazwy w „$ name”; echo „$ name” zrobione wyjście 0 

Zapisz plik i wyjdź, a następnie uruchom go w następujący sposób:

$ ./nazwy.cii 
Użyj podwójnych cytatów w skryptach

5. Użyj funkcji w skryptach

Z wyjątkiem bardzo małych skryptów (z kilkoma wierszami kodu), zawsze pamiętaj o użyciu funkcji do modularyzacji kodu i uczynienia skryptów bardziej czytelnych i wielokrotnego użytku.

Składnia funkcji pisania jest następująca:

funkcja check_root () command1; polecenie2;  Lub check_root () command1; polecenie2;  

W przypadku kodu pojedynczego wiersza użyj znaków zakończenia po każdym poleceniu tak:

check_root () command1; polecenie2;  

6. Użyj = zamiast == dla porównań ciągów

Zauważ, że == jest synonimem =, Dlatego używaj tylko jednego = Na przykład dla porównań ciągów:

value1 = ”Tecmint.com ”wartość2 =” fossmint.com ”, jeśli [„ $ value1 ”=„ $ value2 ”]] 

7. Użyj $ (polecenie) zamiast starszego „dowództwa” do zastąpienia

Podstawienie polecenia zastępuje polecenie wyjściem. Używać $ (polecenie) Zamiast Quakotes 'Komenda' do zastąpienia dowodzenia.

Jest to zalecane nawet przez narzędzie ShellCheck (pokazuje ostrzeżenia i sugestie dotyczące scenariuszy skorupy). Na przykład:

user = 'echo „$ uid”' użytkownik = $ (echo „$ uid”) 

8. Użyj tylko odczytu, aby zadeklarować zmienne statyczne

Zmienna statyczna się nie zmienia; Jego wartości nie można zmienić po zdefiniowaniu w skrypcie:

Czytonly Passwd_file = ”/etc/passwd” ReadOnly Group_file = ”/etc/grupa” 

9. Używaj nazw wielkimi do zmiennych środowiskowych i małych liter dla zmiennych niestandardowych

Wszystkie zmienne środowiska bash są nazwane wielkimi literami, dlatego używają małych liter, aby nazwać niestandardowe zmienne, aby uniknąć konfliktów zmiennych nazwy:

#definicja zmiennych niestandardowych przy użyciu małej litery i używając górnej części zmiennych ENV nikto_file = ”$ home/plik do pobrania/NiKto-Master/program/NiKto.PL ”Perl„ $ NIKTO_FILE ”-H„ 1 USD ” 

10. Zawsze wykonywaj debugowanie długich scenariuszy

Jeśli piszesz scenariusze Bash z tysiącami wierszy kodu, znalezienie błędów może stać się koszmarem. Aby łatwo naprawić rzeczy przed wykonaniem skryptu, wykonaj trochę debugowania. Opanuj tę wskazówkę, czytając poniższe przewodniki:

  1. Jak włączyć tryb debugowania skryptu Shell w Linux
  2. Jak wykonywać tryb debugowania składni w skontlerze
  3. Jak śledzić wykonywanie poleceń w skrypcie powłoki z śledzeniem powłoki

To wszystko! Czy masz jakieś inne najlepsze praktyki scenariuszy do podzielenia się? Jeśli tak, użyj poniższego formularza komentarza, aby to zrobić.