Bash skripty sa hodia na automatizáciu úloh a zistíte, že sú skvelé na vytváranie jednoduchých aplikácií príkazového riadka. Shell Bash interpretuje skripty Bash, takže na ich písanie a spúšťanie nemusíte inštalovať žiadne závislosti. Bash skripty sú tiež prenosné, pretože väčšina operačných systémov založených na Unixe používa rovnaký interpret shellu.

Znalosť skriptovania v Bash je nevyhnutnosťou pre každého vývojára, najmä ak pracujete so systémami založenými na Unixe.

Premenné v Bash

Bash premenné rozlišujú veľké a malé písmená. Ak chcete deklarovať premenné, použite znak rovnosti (=) s názvom vľavo a hodnotou vpravo:

ŠTÁT=Washington

Hodnota, ktorú táto deklarácia priraďuje ŠTÁT je jediné slovo. Ak potrebujete medzery vo svojej hodnote, použite úvodzovky:

STATE="Severná Arizona"

Budete musieť použiť znak dolára ($) predpona k referenčným premenným v iných premenných alebo príkazoch:

ŠTÁT=Washington
LOCATION="Moja poloha je $STATE"

Tlač hodnôt v Bash

Existuje niekoľko spôsobov, ako môžete tlačiť premenné v Bash. Môžete použiť

instagram viewer
ozvena príkaz pre základný výstup alebo v štýle C printf príkaz na formátovanie reťazca.

ŠTÁT=Washington
LOCATION="Moja poloha je $STATE"
ozvena$LOCATION

Po vyhlásení ŠTÁT premenná, definuje tento skript POLOHA odkazom na STATE. Ak potom použije echo na vytlačenie konečnej hodnoty premennej LOCATION.

The printf kľúčové slovo vám umožňuje použiť formátovacie slovesá na výstup údajov. Slovesá formátujúce reťazce sú podobné tým v C a Go, ale s obmedzenými slovesami.

Sloveso Funkčnosť
%c vytlačí jednotlivé znaky
%o vytlačí Osemdesiatkové číslice
%s tlačí reťazce, nezávisle od puzdier
%X vypíše malé hexadecimálne číslo
%X tlačí veľké hexadecimálne
%d vypíše celé čísla
%e vytlačí vedecký pojem plávajúce malými písmenami
%E vytlačí vedecký pojem plávajúci veľkými písmenami
%f vypíše čísla s pohyblivou rádovou čiarkou
%% vytlačí jeden percentuálny symbol.

Tu je príklad použitia slovesa s vytlačiť kľúčové slovo.

ŠTÁT=Lagos
printf "Moja poloha je %s" $STATE

The printf funkcia by nahradila ŠTÁT premenná v polohe %s sloveso a výstup by bol „Moja poloha je Lagos“.

V Bash môžete komentovať pomocou hash alebo libry (#) symbol. Shell automaticky ignoruje komentáre.

#!/bin/bash
# STATE=Washington
# LOCATION="Moja poloha je $STATE"

Neexistujú žiadne viacriadkové komentáre. Väčšina IDE a textových editorov vám umožňuje komentovať pomocou skratky Ctrl/Command + lomka (/). Mali by ste byť schopní použiť skratku na vytvorenie viacerých jednoriadkových komentárov.

Prijímanie používateľského vstupu v Bash

Rovnako ako mnoho iných programovacích jazykov, aj v Bash môžete prijímať vstupy používateľov, aby boli vaše programy/skripty interaktívnejšie. Môžete použiť čítať príkaz na vyžiadanie vstupu používateľa.

čítať odpoveď

V tomto prípade, odpoveď premenná bude obsahovať vstup používateľa pri doručení.

echo "Čo chceš?:"
prečítať odpoveď
echo $response

Vo vyššie uvedenom príklade bude požiadavka na vstup používateľa na novom riadku.

Môžete pridať -n vlajka do ozvena print statement, aby sa zachoval riadok, do ktorého používateľ zadáva vstup.

echo -n "Čo chceš."
prečítať odpoveď
echo $response

Vyhlásenie polí v Bash

Polia v Bash sú ako väčšina jazykov. Premennú poľa môžete deklarovať v Bash zadaním prvkov v zátvorkách.

Krajiny=('USA' 'Rusko' 'Ukrajina', "Anglicko", "Taiwan", "Čína")

Prístup k poli prostredníctvom odkazu na názov premennej by získal prvý prvok. K celému poľu môžete pristupovať pomocou znaku hviezdičky ako indexu.

echo ${Countries[*]}

Môžete tiež zadať index poľa na prístup ku konkrétnemu prvku. Index poľa začína na nule.

ozvena "${Countries[4]}"

Podmienečné vyhlásenia v Bash

Bash poskytuje podmienky pre rozhodovanie v programoch.

Tu je anatómia výroku if-else v Bash. Na určenie konca podmienky budete musieť použiť bodkočiarku.

ak [[ podmienka ]]; potom
ozvena vyhlásenie1
elif [[podmienka]]; potom
ozvena vyhlásenie2
inak [[podmienka]]; potom
ozvena vyhlásenie3
fi

Musíte skončiť každý ak vyhlásenie s fi kľúčové slovo.

ak [ 1 == 2 ]; potom
ozvena jeden
elif [ 2 == 3 ]; potom#ináč Ak
ozvena dva
inak [ 4 > 3 ];
ozvena "správne, 3"
fi

Vo svojich programoch Bash môžete použiť príkazy typu case pomocou príkazu prípad kľúčové slovo. Pred príkazom budete musieť zadať vzor, ​​za ktorým budú nasledovať koncové zátvorky.

MESTO=Lagos
prípad$CITYv
"Washington") # vzor
ozvena "Spojené štáty americké" # vyhlásenie
;; # koniec prípadu
"Lagos" | "Abuja")
ozvena "Nigéria"
;;
"Johannesburg" | "Kapské Mesto")
ozvena "Južná Afrika"
;;
*) # predvolený vzor
ozvena "Antarktida" # predvolený výpis
;;
esac# koniec vyhlásenia o prípade

Predvolenú veľkosť písmen môžete definovať pomocou znaku hviezdičky (*) ako vzoru. Výpisy prípadu musia končiť znakom esac kľúčové slovo.

Slučky v Bash

V závislosti od vašich potrieb môžete použiť slučku while, rozsah pre slučku alebo štýl C pre opakujúce sa operácie.

Tu je príklad štýlu C for-loop. Slučky for musia končiť znakom hotový kľúčové slovo a príkaz for musíte ukončiť bodkočiarkou, za ktorou nasleduje znak robiť kľúčové slovo.

pre ((a = 0; a < 10; a+2)); robiť
ozvena$a
hotový

Rozsah pre slučku je užitočný pri práci so súbormi a mnohých ďalších operáciách. Budete musieť použiť v kľúčové slovo s rozsahom pre slučku.

pre i v {1..7}; robiť
ozvena$1
hotový

Tu je jednoduchá nekonečná slučka na demonštráciu Bash zatiaľ čo slučky v akcii.

meno=1
zatiaľ čo [1 -le 5] # kým 1 < 5
robiť
ozvena$name
hotový

The -le v príkaze podmienky je binárny operátor pre menej ako.

Funkcie v Bash

Na deklarovanie funkcií v Bash nepotrebujete kľúčové slová. Funkcie môžete deklarovať názvom a potom zátvorkami pred telom funkcie.

print_working_directory() {
ozvena$PWD#volanie príkazu PWD zo skriptu
}
ozvena „Si v $(print_working_directory)"

Funkcie môžu vrátiť premenné v Bash. Všetko, čo potrebujete, je vrátiť kľúčové slovo.

print_working_directory() {
vrátiť$PWD
}

The print_working_directory funkcia vráti pracovný adresár súboru.

Shell skripty môžete písať v iných jazykoch

Bash nie je jediný jazyk, ktorý môžete použiť na interakciu s shellom vášho operačného systému alebo na vytváranie aplikácií príkazového riadka. Môžete použiť mnoho ďalších jazykov ako Go, Python, Ruby a Rust.

Mnoho operačných systémov má predinštalovaný Python3 a Python je rozšírený jazyk. Ak potrebujete ešte viac funkcií, než môžu ponúknuť skripty Bash, zvážte použitie Pythonu.