BY Mogilev, 212027
+375445544244
ПОДЕЛИСЬ ЭТИМ
25-05-2019 18:51:00 54 Comments ollserg & MaxWeb for you

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

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

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

 Объединение двух или более команд в командной строке также называется «объединением команд». Я покажу вам различные способы объединения команд в командной строке.

 При разработке проекта на Python Django в виртуальной среде мне каждый раз в начале работы приходилось запускать поочередно несколько команд. Я решил их объединить в одну и вот как это можно сделать. Предлагаю несколько вариантов с примерами.

Вариант первый: оператор точка с запятой (;)

 Оператор точка с запятой (;) позволяет вам выполнять несколько команд подряд, независимо от того, была ли успешной каждая предыдущая команда. Например, откройте окно терминала (Ctrl + Alt + T в Ubuntu и Linux Mint). Затем введите следующие четыре команды в одну строку, разделенные точкой с запятой, и нажмите Enter.

cd djangoprojects ; source eComEnv/bin/activate ; cd djangoshop ; ./manage.py runserver

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

  В результате выполнения комплекса команд вы получите:

1. cd djangoprojects — перейдете в директорию с Django проектами — djangoprojects
2. source eComEnv/bin/activate - включит виртуальное окружение
3. cd djangoshop - перейдете в директорию с проектом djangoshop
4. ./manage.py runserver - запустит веб-сервер
  Вам также не нужно ставить пробелы между точками с запятой и командами. Вы можете ввести три команды как:
cd djangoprojects;source eComEnv/bin/activate;cd djangoshop;./manage.py runserver
  Однако пробелы делают комбинированную команду более удобочитаемой, что особенно полезно, если вы помещаете комбинированную команду в сценарий оболочки.
  Этот вариант имеет следующую особенность - Вне зависимости от того, как выполнилась предыдущая команда, следующая команда должна будет запуститься.

Вариант второй: логический оператор И (&&)
  Если вы хотите, чтобы вторая команда выполнялась только в том случае, если первая команда выполнена успешно, разделите команды с помощью логического оператора AND, который является двумя амперсандами ( && ). Например, мы хотим перейти в каталог с именем djangoprojects, а затем включит виртуальное окружение eComEnv при условии, что оно существует. Итак, мы вводим следующее в командной строке и нажимаем Enter.

cd djangoprojects && source eComEnv/bin/activate

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

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

Вариант третий: оператор логического ИЛИ (||)
  Иногда вам может потребоваться выполнить вторую команду, только если первая команда не удалась. Для этого мы используем логический оператор ИЛИ или две вертикальные черты ( || ). Например, мы хотим проверить, существует ли каталог MyFolder ( [ -d ~/MyFolder ] ), и создать его, если его нет (mkdir ~/MyFolder). Итак, мы вводим следующую команду в командной строке и нажимаем Enter.

[ -d ~/MyFolder ] || mkdir ~/MyFolder

  Убедитесь, что после первой скобки и перед второй скобкой или первой командой есть пробел, который проверяет, существует ли каталог, иначе не будет работать.

оператор логического ИЛИ (||)
  В нашем примере каталог MyFolder не существует, поэтому вторая команда создает каталог.

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

  Вы также можете объединить несколько операторов в командной строке. Например, мы хотим сначала проверить, существует ли файл ( [ -f ~/sample.txt ] ). Если это произойдет, мы выводим на экран сообщение о том, что это так ( echo “File exists.” ). Если нет, мы создаем файл ( touch ~/sample.txt ). Итак, мы вводим следующее в командной строке и нажимаем Enter.

[ -f ~/sample.txt ] && echo «Файл существует.» || touch ~/sample.txt

  В нашем примере файл не существует, поэтому он был создан.

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

  Вот полезная сводка по каждому из операторов, используемых для объединения команд: A ; B - Запустите A, а затем B, независимо от успеха или неудачи A A && B - запуск B только в случае успеха A A || B - Запустить B, только если A не удалось Все эти методы объединения команд также можно использовать в сценариях оболочки как в Linux, так и в Windows 10 .


баннеры

Индекс цитирования
Новости, новости Беларуси, последние новости, новости мира на Uvaga.By
Первый Каталог - Видео, аудио, фото техника

Контакты

212027 РБ Могилёв
Phone: +375 - 33-690-5554
Phone: +375 - 44-55-44-2-44
Email: maxweb.of.by(сабака)gmail.com
Открыть на карте