Ако използвате 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 оператор или две вертикални ленти ( ||
). Например, искаме да проверим дали директорията 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, независимо от успеха или неуспеха на AA && B
- Бягайте само ако A е успялA || B
- Бягайте само ако A не е успешноВсички тези методи за комбиниране на команди могат да се използват и в скриптове на черупки както на Linux, така и на Windows 10.
Можете също така автоматично да коригирате правописа и печатни грешки, когато използвате "cd" на командния ред в Linux, за да избегнете драстични последствия при комбиниране на команди.