Начална » как да » Как да стартирате две или повече терминални команди веднъж в Linux

    Как да стартирате две или повече терминални команди веднъж в Linux

    Ако използвате Linux, знаете колко полезна може да бъде командния ред за работа с файлове, инсталиране на софтуер и стартиране на програми. Но може да бъде още по-ефективно, ако стартирате няколко команди едновременно.

    Комбинирането на две или повече команди в командния ред е също така известно като "командно веригиране". Ще ви покажем различни начини, по които можете да комбинирате команди в командния ред.

    Вариант едно: Операторът с точка и запетая (;)

    Операторът с точка и запетая (;) ви позволява да изпълнявате няколко последователни команди, независимо от това дали всяка предишна команда е успешна. Например, отворете терминален прозорец (Ctrl + Alt + T в Ubuntu и Linux Mint). След това въведете следните три команди в един ред, разделени с точка и запетая, и натиснете Enter. Това ще ви даде списък с текущата директория ( LS ), разберете в коя директория сте в момента ( хората с увреждания ) и показва името ви за вход ( кой съм аз ) всичко наведнъж.

    ls; pwd; кой съм аз

    Не е необходимо да поставяте интервали между точките и командите. Можете да въведете трите команди като LS; хората с увреждания; Whoami . Независимо от това, интервалите правят комбинираната команда по-разбираема, което е особено полезно, ако поставяте комбинирана команда в шел скрипт.

    Вариант 2: Логически И оператор (&&)

    Ако искате втората команда да работи само ако първата команда е успешна, разделете командите с логическия оператор AND, който е два амперсанда ( && ). Например, искаме да направим директория, наречена MyFolder и след това да я променим, ако е създадена успешно. Така че, въведете следното в командния ред и натиснете Enter.

    mkdir MyFolder && cd Моята папка

    Папката бе създадена успешно, така че CD командата е изпълнена и сега сме в новата папка.

    Препоръчваме по-голямата част от времето да използвате логическия оператор AND, отколкото оператора с точка и запетая (;). Това гарантира, че не правите нищо катастрофално. Например, ако изпълните команда за промяна в директория и след това принудително премахнете всичко в тази директория ( cd / some_directory; rm -Rf * ), може да загубите системата си, ако не се е променило директорията. Не че ви препоръчваме да изпълните команда за безусловно премахване на всички файлове в директорията наведнъж.

    Вариант три: логическият оператор или операторът (||)

    Понякога може да искате да изпълните втора команда само ако първата команда го направи не успее. За да направите това, използваме логическия оператор ИЛИ или две вертикални ленти ( || ). Например искаме да проверим дали директорията на MyFolder съществува ( [-d ~ / MyFolder] ) и да го създадете, ако не ( mkdir ~ / MyFolder ). Така че, ние въвеждаме следната команда в реда и натиснете Enter.

    [-d ~ / MyFolder] || mkdir ~ / MyFolder

    Уверете се, че има място след първата скоба и преди втората скоба или първата команда, която проверява дали директорията съществува, няма да работи.

    В нашия пример директорията MyFolder не съществува, така че втората команда създава директорията.

    Комбиниране на множество оператори

    Можете също да комбинирате няколко оператора в командния ред. Например искаме първо да проверим дали файлът съществува ( [-f ~ / sample.txt] ). Ако е така, ние отпечатваме съобщение на екрана, като казваме това ( echo "Файлът съществува." ). Ако не, създаваме файла ( докоснете ~ / sample.txt ). Така че, въведете следното в командния ред и натиснете Enter.

    [-f ~ / sample.txt] && echo "Файлът съществува." || докоснете ~ / sample.txt

    В нашия пример файлът не съществува, така че е създаден.

    Ето едно полезно резюме на всеки от операторите, използвани за комбиниране на команди:

    •  А; B  - Пусни A и B, независимо от успеха или неуспеха на A
    •  A && B  - Изпълнете B само ако A успя
    •  A || B  - Изпълнете B само ако A се провали

    Всички тези методи за комбиниране на команди могат да се използват и в shell скриптове на Linux и Windows 10.

    Можете също така автоматично да коригирате правописа и грешките при използване на "cd" в командния ред в Linux, за да избегнете драстични последствия при комбиниране на команди.