Как одновременно запускать несколько команд в Linux

10 ott 2022 2 min di lettura
Как одновременно запускать несколько команд в Linux
Indice dei contenuti

Введение

В этой статье мы узнаем, как запускать несколько команд одновременно в Linux. Каждый оператор имеет свои преимущества при разделении команд. Этот туториал поможет немного улучшить то, как мы выполняем команды и скрипты авторской оболочки.

Операционная система Linux предлагает простой интерфейс командной строки для управления системой. Существуют оболочки, такие как Bash, CSH и Zsh, которые принимают команды от пользователя и направляют их в ядро. Команда используется для выполнения некоторых функций в системе. Мы также можем указать несколько оболочек одновременно и выполнять их одну за другой.

Существует три различных варианта использования операторов-разделителей. В следующем разделе мы рассмотрим их подробно.

Используйте точку с запятой (;)

Точки с запятой (;) разделяют команды, чтобы последующие команды выполнялись независимо от состояний выхода предыдущих. Используйте этот параметр, чтобы убедиться, что команда выполняется после завершения предыдущей.

Синтаксис:

command1;  command2;  commandN

Пример:

date; pwd; whoami 
Sun Aug  7 03:51:00 UTC 2022
/home/noviello
noviello

Даже если вторая команда завершается ошибкой из-за ошибки авторизации, третья команда все равно выполняется в следующих командах:

date; touch /root/a.txt; whoami 

Используйте логический оператор И (&&)

После успешного выполнения предыдущей команды будет выполнена и следующая команда. Логический оператор И (&&) проверяет статус выхода предыдущей команды.

Однако, если приведенная выше команда завершилась ненулевым статусом выхода, выполнение здесь остановится. В этом случае никакие последующие команды выполняться не будут.

Синтаксис:

command1 &&  command2 && commandN

Пример:

mkdir ./backups && cd ./backups 

Последняя команда завершится ошибкой, если по какой-либо причине не удалось выполнить первую команду:

 mkdir /root/backups && cd /root/backups 
mkdir: cannot create directory ‘/root/backups’: Permission denied

Используйте логический оператор ИЛИ (||)

Логическое условие ИЛИ (||) проверяет статус выхода предыдущей команды и выполняет следующую команду, только если предыдущая команда не удалась.

Синтаксис:

command1 || command2 || commandN

Вы можете использовать эту конструкцию в сценариях оболочки, чтобы определить, доступен ли файл или команда. Например, в скрипте резервного копирования можно проверить, /usr/bin/mysqldumpсуществует оно или нет, а если нет, то можно напечатать сообщение или завершить процесс:

[ -s /usr/bin/mysqldump ] || echo "command not found" 

Используйте его для проверки команды или файла, которых нет в вашей системе. Это полезно для скриптов bash, которые создают файлы, если они отсутствуют. Вы также можете остановить выполнение скрипта, если необходимые файлы отсутствуют:

 [ -s /usr/bin/not_a_cmd ] || echo "command not found" 

Вывод

В этой статье мы рассмотрим, как одновременно запускать несколько команд в Linux. Мы также рассмотрим различные операторы, используемые для отделения команд друг от друга. Каждый оператор влияет на способ выполнения команды, и у каждого есть свои преимущества. Этот учебник предоставит некоторую полезную информацию для всех, кто заинтересован в улучшении своих навыков выполнения команд или написания сценариев оболочки.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.