Kombinácia dvoch alebo viacerých príkazov na príkazovom riadku je tiež známy ako "reťazec príkazov". Ukážeme vám rôzne spôsoby, ako môžete kombinovať príkazy na príkazovom riadku.
Možnosť jedna: Operátor bodkočiarky (;)
Operátor bodkočiarka (;) umožňuje vykonať viacero príkazov postupne, bez ohľadu na to, či je každý predchádzajúci príkaz úspešný. Otvorte napríklad okno Terminál (Ctrl + Alt + T v Ubuntu a Linux Mint). Potom napíšte na jeden riadok nasledujúce tri príkazy oddelené bodkočiarkami a stlačte kláves Enter. Zobrazí sa zoznam aktuálneho adresára (
ls
), zistite, v ktorom adresári sa práve nachádzate (
pwd
) a zobrazte svoje prihlasovacie meno (
whoami
) naraz.
ls; pwd; whoami
Medzi bodkočiarkami a príkazmi nemusíte umiestňovať medzery. Môžete zadať tri príkazy ako
ls;pwd;whoami
Priestory však robia kombinovaný príkaz čitateľnejší, čo je obzvlášť užitočné, ak vložíte kombinovaný príkaz do shellového skriptu.
Druhá možnosť: logický AND operátor (&&)
Ak chcete, aby bol druhý príkaz spustený len vtedy, ak bol prvý príkaz úspešný, oddeľte príkazy logickým operátorom AND, ktorý je dva ampersandy (
&&
). Napríklad chceme vytvoriť adresár s názvom MyFolder a potom zmeniť na tento adresár za predpokladu, že bol úspešne vytvorený. Takže na príkazovom riadku zadáme nasledovné a stlačte kláves Enter.
mkdir MyFolder && cd MyFolder
Priečinok bol úspešne vytvorený, takže
cd
príkaz bol spustený a teraz sme v novom priečinku.
Väčšinu času odporúčame použiť logický operátor AND a nie operátor bodkočiarky (
;
). Tým sa zabezpečí, že nebudete robiť nič katastrofálne. Napríklad, ak spustíte príkaz na zmenu adresára a vynútené odstránenie všetkého v tomto adresári rekurzívne (
cd /some_directory; rm -Rf *
), môže dôjsť k zničeniu vášho systému, ak sa zmena adresára nestane. Nie, že vám odporúčame spustiť príkaz bezpodmienečne odstrániť všetky súbory v adresári naraz.
Možnosť tretia: logický operátor OR (||)
Niekedy možno budete chcieť spustiť druhý príkaz len vtedy, ak urobí prvý príkaz nieuspieť. Za týmto účelom používame logický OR operátor alebo dve vertikálne pruhy (
||
). Napríklad chceme skontrolovať, či neexistuje adresár MyFolder (
[ -d ~/MyFolder ]
) a vytvoriť ho, ak to nie je (
mkdir ~/MyFolder
). Takže na výzvu zadáme nasledujúci príkaz a stlačte kláves Enter.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Uistite sa, že za prvým držiakom a pred druhým držiakom alebo prvým príkazom, ktorý skontroluje, či existuje adresár, nebudete mať priestor.
V našom príklade adresár MyFolder neexistuje, takže druhý príkaz vytvorí adresár.
Kombinácia viacerých operátorov
Na príkazovom riadku môžete kombinovať viacero operátorov. Napríklad chceme najskôr skontrolovať, či existuje súbor (
[ -f ~/sample.txt ]
). Ak áno, vytlačíme správu na obrazovke tak, že
echo “File exists.”
). Ak nie, vytvoríme súbor (
touch ~/sample.txt
). Takže na príkazovom riadku zadáme nasledovné a stlačte Enter.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
V našom príklade súbor neexistoval, takže bol vytvorený.
-
A; B
- Spustiť A a potom B, bez ohľadu na úspech alebo zlyhanie A
-
A && B
- Spustiť B len vtedy, ak bol úspešný
-
A || B
- Spustiť B len vtedy, ak zlyhalo
Všetky tieto metódy kombinovania príkazov môžu byť použité aj v shellových skriptoch na systéme Linux aj Windows 10.
Môžete tiež automaticky opraviť hláskovanie a písmená pri použití "cd" na príkazovom riadku v systéme Linux, aby ste sa vyhli drastickým následkom pri kombinácii príkazov.