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

How Run Multiple Commands Linux



Необходими са различни типове команди за изпълнение от терминала в Linux. Понякога трябва да изпълняваме няколко команди едновременно, когато командите могат да зависят една от друга или не. Изпълнението на няколко команди едновременно се нарича командване. Много видове оператори могат да се използват за верижно командване за различни цели. Как можете да изпълните две или повече команди, като използвате най -често използваните оператори, е показано в този урок.

операторът pipe (|) се използва за изпълнение на две или повече свързани команди наведнъж. Входът на следващата команда ще бъде изходът на предишната команда. Така че успехът на всяка команда зависи от успеха на по -ранна команда без първа команда. В следната команда, първата команда, ls ще разбере списъка с файлове и папки на текущото местоположение и ще изпрати изхода като вход за втората команда, тоалетна . Той ще отпечата общия брой редове, думи и знаци въз основа на входните данни.







$ls -на | тоалетна за щастие



Оператор с точка и запетая (;)

Операторът с точка и запетая (;) е свикнал да изпълнява две или повече несвързани команди едновременно. Това означава, че изходът на всяка команда не зависи от други команди. В следния пример три вида команди са комбинирани заедно и неуспехът на всяка команда няма да създаде ефект върху изхода на други команди. Първата команда ще отпечата съдържанието на файл, втората команда ще направи директория, а третата команда ще промени текущата директория.



$коткаmyfile.txt;mkdirnewdir;CDработен плот





Логически оператор AND (&&)

Командите, изпълнявани от Logical AND (&&), са свързани помежду си като командата pipe (|). Така че, ако предишната команда няма да се изпълни успешно, следващите команди няма да работят. В следния пример две команди, mkdir и rmdir, комбинирани от && оператори. Така че командата mkdir не е успешна, след което командата rmdir няма да се изпълни. Според изхода на командата ls, директорията myDir вече съществува на текущото местоположение. Така че първата команда няма да се изпълни и за тази втора команда също няма да се изпълни.

$ls
$mkdirmyDir&& rmdirтемп
$ls



Логически оператор OR (||)

Логическият оператор OR (||) е обратното на оператора Logical AND (&&). Следващата команда ще се изпълни, ако предишната команда не успее да се изпълни. Три команди cat се комбинират с оператора OR (||) в следния пример. Когато стартирате командата, първо тя ще се опита да покаже съдържанието на файла cat.txt. Ако няма такъв файл в текущото местоположение, той ще се опита да изпълни следващата команда. Според изхода, bird.txt файл съществува на текущото местоположение и се показва съдържанието на този файл.

$ cat cat.txt || котка dog.txt || котка птица.txt

Множество команди с множество оператори

Можете да използвате множество оператори, за да изпълнявате няколко команди наведнъж. В следния пример три команди са комбинирани с оператори OR (||) и AND (&&). След като изпълните командата, първо тя ще промени текущата директория на newdir, ако тя съществува. Ако тази команда се провали, тя ще създаде директорията, като изпълни втората команда и ще отпечата съобщението, директорията се създава. Според изхода, директорията newdir не съществува на текущото местоположение. Така че, съобщението за грешка се показва и директорията се създава по -късно.

$CDnewdir|| mkdirnewdir&& изхвърлен 'директория е създадена'

Комбиниран оператор {}

Две или повече команди могат да бъдат комбинирани с помощта на този оператор и ако изпълнението на първата команда се провали, втората команда няма да се изпълни. В следващия пример операторите OR, AND и комбинацията се използват заедно. Първите команди ще проверят дали временната директория съществува на текущото място или не. Ако първата команда се провали, тя ще създаде временна директория и ще отпечата съобщение. Последната команда ще покаже текущия списък с директории.

$[ темп] || { mkdirтемпература;изхвърленвременната директория е създадена сега .;} && ls

Оператор на приоритет ()

Можете да използвате този оператор за групиране на командите по време на изпълнение. Тук всяка група ще работи като отделна задача. В следния пример са дефинирани две групи команди и ако първата група не успее да се изпълни, тогава втората група ще се изпълни.

$(CDтемп&& ls-да се) || (mkdirтемп&& ls)

Заключение

Този урок обяснява най -често използваните оператори за изпълнение на множество команди в Linux. Но в bash съществуват много други оператори, които се използват за изпълнение на две или повече команди заедно. Това са амперсанд (&), пренасочване (, >>), логически НЕ (!), Комбинация ({}) и т.н.