При работе в Linux вам может понадобиться выполнить множество команд одну за другой. Часто бывает необходимо выполнить несколько команд в одной строке или одновременно. В этой статье мы узнаем, как запустить несколько команд в Linux. Существует несколько способов сделать это, и мы подробно разберем каждый из них.
Как выполнить несколько команд в Linux
В Linux существует три способа запуска нескольких команд - с помощью точки с запятой (;), оператора AND (&&) и OR (||).
1. Конкатенация команд с помощью оператора точка с запятой (;)
Оператор точки с запятой позволяет выполнять несколько команд одну за другой, независимо от того, удалось или не удалось выполнить предыдущую команду. Вот синтаксис оператора "точка с запятой".
1 | команда 1; команда 2; ... команда N |
Вот пример последовательного выполнения команд whoami, ps и uptime.
1 | whoami; pwd; uptime |
Как вы можете видеть, он отобразит вывод каждой команды последовательно. Вот пример, где вторая команда выдает ошибку. Вы увидите, что терминал по-прежнему выполняет все команды и отображает вывод каждой команды.
1 | pwd; cd data; uptime |
2. Конкатенация команд с помощью оператора AND
В этом случае терминал будет выполнять каждую команду по очереди, пока предыдущая команда выполняется успешно. Если какая-либо из команд выдаст ошибку, то последующие команды не будут выполнены. Вот синтаксис использования оператора AND.
1 | команда 1 && команда 2 && ... команда N |
Вот простая команда для создания новой папки и перехода в нее.
1 | mkdir data && cd data |
Теперь, если вы попробуете повторно выполнить приведенную выше команду, первая команда в ней выдаст ошибку о том, что папка уже существует, и поэтому не выполнит вторую команду.
1 | mkdir data && cd data |
3. Конкатенация команд с помощью оператора OR
В этом случае Linux будет выполнять каждую команду последовательно, только если предыдущая команда не выполнилась. Выполнение прекращается после первого успешного выполнения команды. Вот синтаксис для объединения команд с помощью оператора OR.
1 | команда 1 || команда 2 || ... команда N |
Вот простой пример объединения команд с помощью оператора OR.
1 | mkdir1 data1 || mkdir data2 |
Когда вы выполните приведенную выше команду, первая команда выдаст ошибку, поскольку mkdir1 - это опечатка, а затем будет выполнена вторая команда. Таким образом, будет создана только папка data2, а не data1.
Заключение
В этой статье мы изучили 3 различных способа одновременного выполнения нескольких команд в Linux. Они очень полезны, особенно в сценариях оболочки и cronjobs, где нужно выполнять несколько команд одновременно. Они также очень полезны для системных администраторов, которые могут выполнять пакет команд для автоматизации задач.