Čo je to Bash Script a ako ho napísať v Linuxe

Predpokladajme, že máte sériu Linuxové príkazy, ktoré je potrebné zopakovať viackrát. Môžete buď napísať príkazy 1000-krát a preklínať svoj osud, alebo môžete napísať malý a jednoduchý bash skript v Linuxe na automatizáciu tejto únavnej úlohy. V tomto článku sa budeme zaoberať tým, čo je bash skript, jeho výhody a ako napísať bash skript v Linuxe.

Obsah

Čo je to Bash Script v Linuxe

Rovnako ako filmový scenár dáva hercom predstavu o tom, ako zahrať konkrétnu scénu. Rovnakým spôsobom je Bash skript súbor obsahujúci a séria príkazov Linuxu ktoré po spustení fungujú tak, ako boli zadané v príkazovom riadku, čím automatizujú váš pracovný postup. Všetky bash skripty majú príponu .sh, „riadok shebang“ –

#/bin/basha možno ho spustiť priamo cez príkazový riadok.

Stručne povedané, bash skript zoskupuje všetky príkazy, ktoré musíte vykonať jednotlivo pre konkrétnu úlohu. Teraz, keď viete, čo je bash skript v Linuxe, pozrime sa teraz na jeho výhody.

Výhody používania Bash skriptov v Linuxe

Skript Bash je vo všeobecnosti výkonný a všestranný nástroj, vďaka čomu je neoddeliteľnou súčasťou arzenálu každého správcu systému, vývojára a pokročilých používateľov. Tu sú niektoré kľúčové výhody používania bash skriptov:

  • automatizácia: Toto je možno najvyhľadávanejšia výhoda používania bash skriptov. Pomocou bash skriptov získate možnosť automatizovať aj tie najnudnejšie, opakujúce sa úlohy, čím znížite námahu, ušetríte čas a minimalizujete chyby.
  • Flexibilita: Môžete si vytvoriť vlastné bash skripty, ktoré budú vyhovovať vašim potrebám. Môžete dokonca integrovať externé aplikácie a skripty, aby bol váš pracovný tok ešte efektívnejší.
  • Prenosnosť: Po vytvorení bash skriptu na vykonanie konkrétnej úlohy môže tento bash skript fungovať v ľubovoľnom Linuxová distribúciaza predpokladu, že sú v tomto systéme nainštalované požadované závislosti. Môžete dokonca použiť bash skripty na iných systémoch podobných Unixu, ako je macOS a dokonca aj na nich Windows cez WSL.
  • integrácia: Bash skripty môžu byť integrované s inými nástrojmi, ako sú databázy, API alebo dokonca s inými bash skriptami, ktoré pomáhajú používateľom využiť maximálny potenciál nástrojov tretích strán na zložité úlohy.
  • Jednoduché písanie: Bash skripty sa veľmi ľahko píšu vďaka jednoduchej syntaxi, ktorú už používatelia Linuxu poznajú. Na písanie bash skriptov nepotrebujete žiadne špeciálne nástroje ani softvér, čo umožňuje rýchle prototypovanie nápadov a nových nástrojov.
  • Nízka krivka učenia: Skriptovanie Bash má relatívne nízku krivku učenia, vďaka čomu je ideálnou voľbou pre začiatočníkov aj skúsených používateľov.

Základné komponenty skriptu Bash v systéme Linux

Ak sa pozriete okolo seba, takmer každý bash skript sa skladá z niektorých bežných, ale základných komponentov, ktoré fungujú ako stavebné kamene. Tieto bloky pridávajú štruktúru funkcií do celého skriptu:

1. Shebang (#!)

Každý bash skript začína „riadkom Shebang“, ktorý špecifikuje cestu pre interpreter Linuxu, ktorý sa použije. Píše sa ako:

#!/bin/bash

Aj keď komentáre pri spustení bash skriptu interpret jednoducho ignoruje. Používajú sa jednoducho na poskytovanie dodatočných informácií o kóde pre používateľov. Zlepšuje tiež celkovú čitateľnosť kódu. Ak chcete napísať komentár v bash skripte, jednoducho pridajte octothorpe (#) na začiatok riadku.

Napríklad:

# This is a comment line

3. Premenné

Premenné v bash skriptoch pomáhajú dočasne ukladať rôzne typy údajov do pamäte. Ak chcete priradiť premennej s hodnotou v bash skripte, použite túto syntax:

=

Ak chcete napríklad uložiť „John“ do premennej „name“:

name="John"

Ak chcete získať prístup k hodnote uloženej v premennej „name“, jednoducho pridajte symbol „$“ pred:

echo "Hello, $name"

Tu sa hodnota uložená v premennej „name“ zapojí do príkazu echo, ktorý potom vytlačí konečný výstup ako:

Hello, John

4. príkaz echo

Príkaz echo je jednoduchý, ale užitočný príkaz, ktorý sa používa na tlač hodnôt ako výstup. Syntax na tlač pomocou príkazu echo je:

echo 

5. If-Else v skripte Bash

Niekedy možno budete musieť prijať situačné rozhodnutia v závislosti od rôznych podmienok. V bash môžete robiť rôzne rozhodnutia if, then a else príkazy s nasledujúcou syntaxou:

if [ condition ]
then # code to be executed if the condition is true. else # code to be executed if the condition is false. fi. 

Tu sú rôzne znakové sady, ktoré môžete použiť v bash pre podmienené skripty:

Sada znakov Popis
&& logické AND; Používa sa na porovnanie dvoch podmienok a vráti hodnotu true, iba ak sú splnené obe podmienky
-ekv Rovná sa; Používa sa na kontrolu, či sú dve hodnoty rovnaké alebo nie
-ne Nerovná sa; Kontroluje, či sa jedna hodnota nerovná inej hodnote
-lt Menej ako; Používa sa na kontrolu, či je prvá hodnota menšia ako druhá hodnota
-gt Väčší než; Skontrolujte, či je prvá hodnota väčšia ako druhá
-le Menej ako alebo sa rovná; Skontroluje, či je prvá hodnota menšia alebo rovná druhej hodnote
-ge Väčšie ako alebo sa rovná; Skontroluje, či je prvá hodnota väčšia alebo rovná druhej hodnote

Ak chcete napríklad skontrolovať, či sú dve hodnoty v premennej rovnaké alebo nie:

if [ $a -eq $b ]
then echo "Equal"
else echo "Not Equal"
fi

6. Slučky

Slučky sa používajú, keď potrebujete viackrát zopakovať sadu príkazov alebo príkazov. V bash skriptovaní môžete použiť buď „For Loop“ alebo „While Loop“ pre potreby slučkovania.

Pre Loop

„For Loop“ je druh cyklickej štruktúry, ktorá sa používa, keď presne viete, koľkokrát musíte zopakovať skupinu príkazov alebo ju použiť na prejdenie zoznamu vecí. Syntax na použitie cyklu for v linuxovom bash skripte je –

for  in 
do # commands to be executed for each item in the 
done. 

Tu je rozpis vyššie uvedenej syntaxe:

  • odkazuje na dočasnú premennú, ktorá bude obsahovať každú položku počas každej iterácie. Môžete si vybrať ľubovoľný názov .
  • obsahuje položky, cez ktoré bude cyklus for iterovať. Môžete zadať a nasledovne:
    • Rozsah čísel: Ide o postupnosť čísel, ktoré sú od seba rovnako vzdialené. Rozsah môžete vygenerovať pomocou nasledujúcej syntaxe: „{..}”.
    • Zoznam položiek: Môžete zadať explicitný zoznam položiek oddelených medzerami, napr item1 item2 item3
    • výstup príkazu: Dokonca aj výstup z príkazu možno použiť ako a so syntaxou ako $()
  • robiť označuje začiatok tela cyklu obsahujúceho príkazy, ktoré musíte opakovane vykonávať.
  • hotový ohraničuje koniec slučky.

Ak chcete napríklad vytlačiť všetky celé čísla od 1 do 5:

for i in {1..5}
do echo "Number: $i"
done

Kým slučka

Vo všeobecnosti sa slučky používajú, keď presne neviete, koľkokrát musíte zopakovať konkrétnu sadu príkazov. Budú pokračovať v opakovaní príkazov, kým nebude splnená určitá nastavená podmienka. Syntax na použitie cyklu while je –

while [  ]
do # commands to be executed while the condition is true. done. 

Vo vyššie uvedenej syntaxi:

  • odkazuje na podmienku, ktorá sa testuje pred každou iteráciou, aby sa skontrolovalo, či je splnená alebo nie. Keď už podmienka nie je splnená, cyklus sa ukončí bez zadania tela cyklu.
  • robiť označuje začiatok tela cyklu obsahujúceho príkazy, ktoré musíte opakovane vykonávať.
  • hotový ohraničuje koniec slučky.

Ak chcete napríklad vytlačiť všetky celé čísla od 1 do 5:

i=1. while [ $i -le 5 ]
do echo "$i" i=$((i + 1))
done. 

Ako napísať Bash skript v Linuxe

Teraz, keď viete o základných stavebných blokoch bash skriptovania v Linuxe, môžeme prejsť k tomu, ako napísať bash skript pre váš systém Linux.

Krok 1: Vytvorte nový súbor

Môžete vytvoriť nový súbor s ktorýmkoľvek z najlepšie textové editory dostupné pre Linux. Uistite sa, že ste súboru skriptu dali príponu .sh. Ak chcete napríklad vytvoriť test s názvom „test.sh“ pomocou súboru nano textový editor.

nano test.sh

Krok 2: Definujte líniu Shebang

Riadok shebang definuje cestu k tlmočníkovi, ktorý chcete použiť na spustenie bash skriptu. Je to prvý riadok každého bash skriptu a bežne sa píše ako:

#!/bin/bash

ALEBO

#!/bin/sh

Ak potrebujete pre svoj skript použiť akýkoľvek iný interpreter, použite túto syntax:

#!/usr/bin/env 

Poznámka: Nie je povinné pridávať komentáre ku každému bash skriptu, ktorý napíšete, ale môžu zlepšiť celkovú čitateľnosť kódu. Na pridávanie komentárov do skriptu použite symbol octothorpe. Keď sa súbor spustí, interpret ignoruje všetky komentáre.

Krok 3: Pridajte príkazy a kód

Teraz môžete začať pridávať potrebné príkazy a pokyny pomocou komponentov bash, všetko skombinované logickým spôsobom. Povedzme, že potrebujete automatizovať proces presunu všetkých súborov .txt v adresári do samostatného adresára. Pomocou tohto bash skriptu presuniete všetky súbory .txt do samostatného adresára vo vašom systéme Linux:

#!/bin/bash # Create a directory to store text files. mkdir -p TextFiles # Move all .txt files to the TextFiles directory. for file in *.txt. do if [ -f "$file" ]; then mv "$file" TextFiles/ echo "Moved: $file to TextFiles/" fi. done echo "File organization complete!"

Zdá sa to komplikované? Rozdeľme si to na časti:

  • #!/bin/bash je riadok shebang a určuje, že skript sa má vykonať pomocou tlmočníka bash.
  • # Create a directory to store text files a # Move all .txt files to the TextFiles directory sú komentáre.
  • mkdir -p TextFiles vytvorí nový adresár s názvom „TextFile“, ak v aktuálnom adresári ešte neexistuje.
  • for file in *.txt iteruje cez všetky súbory .txt pomocou cyklu for
  • do znamená začiatok cyklu
  • if [ -f "$file" ]; then skontroluje, či je aktuálna položka bežný súbor alebo nie.
    • Ak je vyššie uvedená podmienka splnená, aktuálny súbor sa presunie do adresára TextFiles s mv "$file" TextFiles/
    • echo "Moved: $file to TextFiles/" zobrazí na konzole správu, že súbor bol presunutý do adresára TextFiles
  • fi označuje, že vykonávanie bloku if pre aktuálnu iteráciu skončilo.
  • done označuje, že vykonávanie bloku cyklu for sa skončilo.
  • Po presunutí všetkých súborov txt sa na konzole zobrazí posledná správa pomocou echo "File organization complete!"

Krok 4: Uložte skript

Po dokončení práce na bash skripte uložte súbor a ukončite editor.

Krok 5: Vytvorte spustiteľný súbor

Vo všeobecnosti nie sú všetky súbory skriptov spustiteľné typy používateľov v systéme Linux. Ak chcete, aby bol bash skript spustiteľný, použite nasledujúci príkaz:

chmod +x 

Napríklad, ak chcete urobiť súbor test.sh ako spustiteľný:

chmod +x test.sh

Krok 6: Spustite súbor

Keď urobíte bash skript ako spustiteľný, spustite súbor s nasledujúcou syntaxou:

./

Ak chcete spustiť súbor test.sh:

./test.sh
ZNAČKYbash skriptLinux
Zanechať komentár

Odporúčané články

Zanechať Odpoveďzrušiť odpoveď