Jak spustit dva nebo více terminálových příkazů najednou v systému Linux
Používáte-li Linux, víte, jak užitečný může být příkazový řádek pro práci se soubory, instalací softwaru a spouštění programů. Může to být ještě efektivnější, pokud spustíte více příkazů najednou.
Kombinace dvou nebo více příkazů na příkazovém řádku je také známá jako "řetězce příkazů". Ukážeme vám různé způsoby, jak můžete kombinovat příkazy na příkazovém řádku.
Možnost jedna: Operátor středník (;)
Operátor středník (;) umožňuje provádět více příkazů za sebou, bez ohledu na to, zda je každý předchozí příkaz úspěšný. Otevřete například okno Terminál (Ctrl + Alt + T v Ubuntu a Linuxu Mint). Poté zadejte na jeden řádek následující tři příkazy oddělené středníkem a stiskněte klávesu Enter. Zobrazí se seznam aktuálního adresáře ( ls
), zjistěte, který adresář jste aktuálně v ( pwd
) a zobrazte své přihlašovací jméno ( kdo jsem
) všechno najednou.
ls; pwd; kdo jsem
Mezi středníkem a příkazy nemusíte umístit ani mezery. Tři příkazy můžete zadat jako ls; pwd; whoami
. Prostory však umožňují, aby kombinovaný příkaz byl čitelnější, což je obzvláště užitečné, pokud vložíte kombinovaný příkaz do shellového skriptu.
Druhá možnost: Logický operátor AND (&&)
Pokud chcete, aby druhý příkaz byl spuštěn pouze tehdy, když byl první příkaz úspěšný, oddělte příkazy logickým operátorem AND, který je dva ampersandy ( &&
). Například chceme vytvořit adresář s názvem MyFolder a pak změnit do tohoto adresáře za předpokladu, že byl úspěšně vytvořen. Takže na příkazovém řádku zadejte následující příkaz a stiskněte klávesu Enter.
mkdir MyFolder && cd MyFolder
Složka byla úspěšně vytvořena, takže CD
příkaz byl spuštěn a my jsme nyní v nové složce.
Většinu času doporučujeme použít logický operátor AND než operátor středníkem (;
). Tím zajistíte, že neděláte nic katastrofálního. Například pokud spustíte příkaz, který chcete změnit na adresář a pak vynutit odstranění všeho v tomto adresáři rekurzivně ( cd / some_directory; rm -Rf *
), může dojít ke zničení systému, pokud se změna adresáře neděje. Ne, že vám doporučujeme spustit příkaz bezpodmínečně odstranit všechny soubory v adresáři najednou.
Třetí možnost: logický OR operátor (||)
Někdy možná budete chtít provést druhý příkaz pouze v případě, že provede první příkaz ne povést se. K tomu použijeme logický OR operátor nebo dvě vertikální pruhy ( ||
). Například chceme zkontrolovat, zda existuje adresář MyFolder ( [-d ~ / MyFolder]
) a vytvořte jej, pokud nebude ( mkdir ~ / MyFolder
). Takže na příkazovém řádku zadejte následující příkaz a stiskněte klávesu Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Ujistěte se, že za prvním držákem a před druhým držákem nebo prvním příkazem, který kontroluje, zda existuje adresář, nebudete pracovat.
V našem příkladu adresář MyFolder neexistuje, takže druhý příkaz vytvoří adresář.
Kombinace více operátorů
Na příkazovém řádku můžete také kombinovat více operátorů. Například chceme nejprve zkontrolovat, zda soubor existuje ( [-f ~ / sample.txt]
). Pokud ano, vytiskneme zprávu na obrazovce tak, že echo "Soubor existuje."
). Pokud ne, vytvoříme soubor ( touch ~ / sample.txt
). Takže na příkazovém řádku zadejte následující příkaz a stiskněte klávesu Enter.
[-f ~ / sample.txt] && echo "Soubor existuje." || touch ~ / sample.txt
V našem příkladu soubor neexistoval, takže byl vytvořen.
Zde je užitečný souhrn každého z operátorů použitých pro kombinování příkazů:
-
A; B
- Spusťte A a potom B, bez ohledu na úspěch nebo selhání A -
A && B
- Spusťte B pouze tehdy, když se vám podařilo -
A || B
- Spusťte B pouze v případě, že selhalo
Všechny tyto metody kombinace příkazů lze také použít ve skriptech shellu na Linuxu i Windows 10.
Pokud používáte příkaz "cd" na příkazovém řádku v systému Linux, můžete také automaticky opravit pravopis a překlepy, abyste se vyhnuli drastickým následkům při kombinaci příkazů.