Ako spustiť dva alebo viac príkazov terminálu naraz v systéme Linux
Ak používate Linux, viete, ako užitočný môže byť príkazový riadok pre prácu so súbormi, inštaláciu softvéru a spúšťanie programov. Ale môže to byť ešte efektívnejšie, ak spustíte viac príkazov naraz.
Kombinácia dvoch alebo viacerých príkazov na príkazovom riadku je tiež známa 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 ( kto som
) naraz.
ls; pwd; kto som
Medzi bodkočiarkami a príkazmi nemusíte vložiť medzery. Môžete zadať tri príkazy ako ls; PWD; Whoa
. 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 sa druhý príkaz spustil len vtedy, ak bol prvý príkaz úspešný, oddeľte príkazy logickému operátorovi AND, ktorý je dva ampersandy ( &&
). Napríklad chceme vytvoriť adresár s názvom MyFolder a potom prejsť 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žívať logický operátor AND a nie operátor bodkočiarky (;
). Tým sa zabezpečí, že nič neurobíte. Napríklad, ak spustíte príkaz na zmenu adresára a následne vymažte všetko 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 nie uspieť. Za týmto účelom používame logický OR operátor alebo dva vertikálne pruhy ( ||
). Chceme napríklad skontrolovať, či neexistuje adresár MyFolder ( [-d ~ / MyFolder]
) a vytvoriť ho, ak to nie je ( mkdir ~ / MyFolder
). Takže na výzvu napíšte 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ý kontroluje, či existuje adresár, nebudete pracovať.
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 najprv skontrolovať, či súbor existuje ( [-f ~ / sample.txt]
). Ak áno, vytlačíme správu na obrazovke tak, že echo "Súbor existuje."
). Ak nie, vytvoríme súbor ( touch ~ / sample.txt
). Takže na príkazovom riadku zadáme nasledovné a stlačte kláves Enter.
[-f ~ / sample.txt] && echo "Súbor existuje." || touch ~ / sample.txt
V našom príklade súbor neexistoval, takže bol vytvorený.
Tu je užitočný súhrn všetkých operátorov použitých na kombinovanie príkazov:
-
A; B
- Spustiť A a potom B, bez ohľadu na úspech alebo zlyhanie A -
A && B
- Spustiť B len vtedy, ak sa podarilo -
A || B
- Spustiť B len vtedy, ak sa zlyhalo
Všetky tieto metódy kombinácie príkazov možno použiť 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 kombinovaní príkazov.