Поиск по сайту:
Злой человек вредит самому себе прежде, чем повредит другому (Августин).

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

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

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

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

Есть несколько операторов, доступных для запуска несколько команд в Linux в одно и тоже время, такие как «точка с запятой или ;», оператор «логический AND» и оператор «логический OR».

  • Используйте оператор точку с запятой «;»

Оператор точка с запятой или «;» позволяет запускать несколько команд одновременно в Linux, когда команда отделяются символом «;».

Базовый синтаксис для оператора с запятой:

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

Читать  Что такое Subshell в Linux?

Использование логического оператора «&&»

Иногда нам нужно выполнить вторую команду, только если первая команда успешно завершена в отличие от оператора точка с запятой.

Базовый синтаксис логического оператора:

Пример логического оператора.

В приведенном выше примере мы создали папку или каталог с именем «data» в разделе каталога «/tmp». Так как мы успешно создали каталог /tmp/data, мы можем в состоянии перейдите в каталог «/tmp/data».

Для того, чтобы перепроверить это условие, выполните одну и ту же команду еще раз, как показано ниже:

В приведенном выше вывода команды «mkdir /tmp/data» не удалась, так как уже существует. Система не позволяет запускать вторую команду.

Оператор логический AND рекомендуется над оператором точкой с запятой, так как это проверит состояние успеха или неудач предыдущей команды. Чтобы объяснить это, давайте рассмотрим пример.

Требование:

  1. Перейдите в директорию /tmp/data1
  2. Удалите все файлы в нем.

Здесь, в приведенных выше примере выполнение команды “cd /tmp/data1;rm -rf *” параллельно привело к катастрофе, так как на системном каталоге /tmp/ data1 не существует, и поэтому вместо того, чтобы удалять файлы в /tmp/ data1/, будут удалены все наши файлы в текущем рабочем каталоге, которые находятся в /tmp/data. Чтобы избежать такой ситуации используйте ниже команды с логическим оператором “cd /tmp/data1 && rm -rf *”.

Здесь вторая команда не удалось, так как первая команда тоже не удалось.

Использование логического оператора OR «||»

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

Основной синтаксис для логического оператора OR:

Пример логического оператора OR.

Здесь мы только создали каталог «/tmp/data1″ во второй команде, только если она не существует, которая проверяется в первой команде»[-d /tmp/ data1]».

Читать  Удалить cтроку запроса Google Adwords gclid в Nginx

Объединение нескольких оператор для выполнения нескольких команд в Linux

Мы можем также объединить несколько операторов для запуска нескольких команд в Linux.

В приведенной выше команде мы использовали несколько операторов. В случае, если файл существует, мы получим сообщение, наподобие этого «успешно открыл файл» иначе мы получим сообщение об ошибке «Не удалось открыть файл». Так мы можем объединить несколько операторов в один раз, чтобы запустить несколько команд в Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Хотите загрузить или сохранить любые удаленные изображения на сервере с…

Спасибо!

Теперь редакторы в курсе.