Příkazovou řádku znáte. Ve Windows je CMD (a nově PowerShell), v Linuxu/Macu je to terminál zpřístupňující shell, v různých provedeních (bash, zsh, atd). Je velmi snadné tam prostě spustit jeden příkaz, ale co když jedním zadáním chcete spustit víc?
Windows (CMD)
Spuštění více příkazů za sebou bez ohledu na výsledek (&):
příkaz1 & příkaz2 & příkaz3 …
Postupně spoustí první, následně druhý, třetí, atd.
Spuštění dalšího příkazu jen při úspěchu předchozího (&&):
příkaz1 && příkaz2 && příkaz3 …
Spuštění dalšího příkazu jen při chybě předchozího (||):
příkaz 1 || příkaz 2
Tady se příkaz 2 spustí pouze pokud příkaz1 skončí chybou.
TIP: Co to znamená CLI? a pro připomenutí je vhodné i Co je to ten DOS? A příkazová řádka?
PŘÍKLAD: CMD (Windows) – záloha složky + hláška, jestli to vyšlo
robocopy C:\Data D:\Zalohy\Data /MIR && echo ZALOHA OK || echo ZALOHA SELHALA
Windows (PowerShell)
V PowerShellu fungují zvyklosti jako dále v Linux a podporováno je
- řetězení – ;
- spustit další jen při úspěchu předchozího – &&
- spustit další při neúspěchu předchozího – ||
Aby zmatku nebylo málo, starší PowerShell (5.1) používal $? a if, konkrétně takto:
if ($?) { Command2 } else { Command3 }
PŘÍKLAD: PowerShell – spusť backup skript, jen když existuje, jinak hláška
Test-Path C:\skripty\backup.ps1 && & C:\skripty\backup.ps1 || Write-Host "Backup skript nenalezen nebo selhal"
Linux/Mac OS (bash, zsh, sh – terminál)
Spuštění více příkazů za sebou (nezávisle na výsledku):
příkaz1; příkaz2; příkaz2
Background (& – běží na pozadí)
příkaz1 & příkaz2
Zde se příkaz1 spustí na pozadí a okamžitě také spustí příkaz2.
Spuštění dalšího příkazu jen při úspěchu předchozího (&&)
příkaz1 && příkaz2
Spuštění dalšího příkazu jen při chybě předchozího (||)
příkaz1 || příkaz2
POZNÁMKA: Můžete kombinovat.
příkaz1 && oříkaz2 || příkaz3
tj. zkus 1, když uspěje, udělej 2, jinak 3
Jde používat i složené závorky pro seskupování příkazů, takže například:
{ příkaz1; příkaz2; } || echo "Něco se pokazilo"
PŘÍKLAD: Bash (Linux/macOS) – bezpečná úprava configu + reload služby
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak &&
nano /etc/nginx/nginx.conf && sudo systemctl reload nginx
POZNÁMKA: V příkazové řádce funguje i roura/pipe (|) pro předání výstupu z jednoho programu do vstupu druhého a “<” a “>” pro vstup a výstup.
Další tipy týkající se Linuxu (a podobných věcí)
-
TIP#3082: Končí (podpora) Windows 10. Co to znamená? Co dělat, když mám Windows 10
14. října skončily WIndows 10. Nebudou k dispozici opravy ani nové funkce, přestane být dostupná i technická podpora. Pro jednotlivce to ještě chvíli tak velký problém nebude, ale pro firmy to problém…
-
TIP#3019: Jak z YouTube v terminalu (Mac, Linux, atd) stáhnout video z youtube? A získat zvukovou stopu?
Nejlepší na věcech jako je příkazová řádka (terminál) v Linuxu či Mac OS (ale máte to i ve Windows i jinde) je, že tam hodně věci jde udělat mnohem snáz, než v…
-
TIP#2989: Jak na (nejen) Raspberry Pi (rychle) vidět chyby/problémy, ke kterým v systému došlo?
Občas je užitečné vědět jak se snadno/rychle podívat, jestli někde v hloubí vaše Rasberry nedošlo či nedochází k nějakým chybám. Nejčastěji když něco zlobí, ale vyplatí se to čas od času kontrolovat…
-
TIP#2970: Jak v terminálu v Linuxu otevřít či si prohlédnout soubor?
V okamžiku kdy se ocitnete v terminálu v LInux, tedy nikoliv v grafickém rozhraní, tak narazíte na něco co právě v GUI bývá snadné, jenže tady nic takového není. Jak se podívat…
-
TIP#2961: Jak změnit mapování portů (či IP adresu) na které běží kontejner v Dockeru?
Taková nepraktická věc, kterou vlastně moc nechápu proč nejde udělat jednoduše. Máte kontejner, spuštěný třeba na portu 5566 a chcete (potřebujete) ho dát na jiný port. Nebo běží na nějaké vnější IP…
-
TIP#2950: Ve Windows je NET VIEW. Je něco podobného v Linuxu? Jak zjistit jaké servery v síti mají jaké síťové disky?
NET VIEW ve Windows slouží k zkoumání toho, co za sdílené disky/prostředky je dostupné na serveru či počítači (a případně i v celém sítí či doméně). Související příspěvky TIP#2765: Raspberry Pi a…
-
TIP#2944: Jak v Linuxu zjistit kde se nachází (a odkud se spustí) konkrétní příkaz? Použijte which
Tohle je dost užitečná vychytávka v Linuxu/unixu, pokud hledáte kde se nachází nějaký příkaz a odkud se spouští, tak můžete použít which doplněný o jméno hledaného (případně i více jmen). Související příspěvky…
-
TIP#2940: Docker na Raspberry Pi. Je to snadné
Když už jsem konečně jedno z mých RPi5 osvobodil od SD karty a startuje z 256 GB SSD, tak je to dobrá příležitost si tam dát Docker a rozjet nějaké věci. Možná…
-
TIP#2933: Jak RaspBerry Pi spouštět z USB externího disku?
Tohle je vlastně snadné. Nové RaspBerry už umí bootovat z SD karty, USB disku či SSD připojeného přímo na RPi bez komplikaci s nastavením. Nastavit se to dá přímo v raspi-config (Advanced…
-
TIP#2858: Přechod z Windows na Mac: Doporučené aplikace pro snadnou změnu
Máte zprovozněný Mac (Mini) tak, že je připojený k Internetu, displeji a myš a klávesnice ho umožňují ovládat. Takže můžete pokračovat instalacemi aplikací, aby to také k něčemu bylo. Budu to brát…
-
TIP#2842: Espanso coby náhrada AutoHotKey (AHK) a proč je to nejlepší text-expander pro Mac, Windows i Linux
Čistá instalace MacBooku pomohla zbavit se kupy aplikací, které jsem tam měl a nepoužíval. A také najít případně jiné lepší, než používané doposud. Velmi dobrý příklad je Espanso, open source pro automatické…
-
TIP#2828: Jak na Pi-hole pro domácí i firemní blokování reklamy a lepší bezpečnost (A jak ji mít na QNAP NAS)
Pi-hole je DNS server, který umí blokovat reklamu a také některé nebezpečné věci. Dělá to tak, že si v domácí/firemní sítě nastavíte jeho použití na počítačích i mobilních zařízeních a pokud kdokoliv/cokoliv…
-
TIP#2824: NoMachine znáte? Pro vzdálený přístup na plochu skvělá možnost
Vzdálený přístup má mnoho různorodých podob – terminálový (příkazová řádka) i graficky, tedy na plochu na vzdáleném počítači, který to umožňuje. Je to trochu roztříštěná džungle a je s tím spojena řada…
-
TIP#2805: Historie schránky? K čemu se to hodí a jak na to ve Windows, Mac OS, iPhone/iPadu, Androidu, Linuxu, Chrome OS
Musím se přiznat, že mi docela dlouho trvalo, než jsem naučil hlavu používat historii schránky. Tedy ve Windows vědět, že stačí zmáčknout Win+V a objeví se několik desítek posledních obsahů co jsem…
-
TIP#2791: Užitečné software (aplikace) pro Raspberry Pi (a Linux vůbec)?
A je tu zase tolik oblíbený tip s různorodým užitečným software (aplikacemi, jak se tomu teď také říká). Tentokrát pro Raspberry Pi. Je to nový souhrn, vycházející z aktuálních pokusů s Raspberry…

















