If-Koubou

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

Как да изпълнявате две или повече терминални команди наведнъж в Linux (Как да)

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

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

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

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

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

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

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

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

mkdir MyFolder && cd MyFolder

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

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

Трети вариант: Логическият оператор OR (||)

Понякога може да искате да изпълнявате втора команда само ако първата команда се изпълнява неуспее. За целта използваме логически OR оператор или две вертикални ленти ( || ). Например, искаме да проверим дали директорията 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 - Run A и след това B, независимо от успеха или неуспеха на A
  •  A && B - Бягайте само ако A е успял
  •  A || B - Бягайте само ако A не е успешно

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

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