Ответ
В bash есть несколько операторов для объединения команд в одну строку, каждый со своей логикой выполнения:
Последовательное выполнение:
;(точка с запятой) — выполняет команды последовательно, независимо от успеха предыдущих.echo "Шаг 1"; echo "Шаг 2"; echo "Шаг 3"&&(логическое И) — выполняет следующую команду только если предыдущая завершилась успешно (код возврата 0). Это стандартная практика для скриптов развертывания.apt update && apt upgrade -y && systemctl restart nginx
Параллельное выполнение:
&— запускает команду в фоновом режиме, позволяя сразу вводить следующую.long_running_task.sh & tail -f /var/log/app.log|(пайп) — передает вывод (stdout) одной команды на вход (stdin) другой.cat access.log | grep "ERROR" | wc -l
Группировка команд: Используйте {} или () для группировки. Команды в {} выполняются в текущей оболочке, в () — в под-оболочке.
{ cd /opt/app && docker-compose up -d; } > deployment.log 2>&1
Практический пример для DevOps: Часто используется цепочка && для безопасного развертывания: проверить конфигурацию, собрать образ, запустить миграции, обновить поды.
kubectl apply --dry-run=client -f k8s/ && docker build -t myapp:v2 . && kubectl set image deployment/myapp myapp=myapp:v2