SSH (Secure Shell) — мощный инструмент для удаленного доступа и управления системами. Это позволяет безопасно выполнять команды на удаленном компьютере. В этом сообщении блога мы рассмотрим различные методы выполнения нескольких команд в одной строке с использованием SSH. Если вы хотите автоматизировать задачи или эффективно выполнить несколько команд на удаленном сервере, эти методы вам пригодятся.
Метод 1: использование точек с запятой
Самый простой способ выполнить несколько команд в одной строке — разделить их точкой с запятой. Например:
ssh username@hostname 'command1; command2; command3'
Этот метод полезен для последовательного выполнения нескольких команд, но ему не хватает гибкости для сложных сценариев.
Метод 2: использование двойных амперсандов
Если вы хотите выполнять команды условно, когда следующая команда выполняется только в случае успеха предыдущей, вы можете использовать двойные амперсанды. Например:
ssh username@hostname 'command1 && command2 && command3'
В этом случае команда 2 будет запущена только в том случае, если команда 1 завершится успешно, а команда 3 запустится, если и команда 1, и команда 2 завершатся успешно.
Метод 3: использование двойных каналов
С другой стороны, если вы хотите выполнять команды условно, когда следующая команда выполняется только в случае сбоя предыдущей, вы можете использовать двойные каналы. Например:
ssh username@hostname 'command1 || command2 || command3'
Здесь команда 2 будет запущена только в случае сбоя команды 1, а команда 3 будет запущена, если и команда 1, и команда 2 завершатся неудачно.
Метод 4: использование расширения фигурных скобок
Раскрытие фигурных скобок позволяет запускать несколько экземпляров команды с разными аргументами. Например:
ssh username@hostname 'echo {apple,banana,orange}'
Команда echo будет выполнена три раза с аргументами «яблоко», «банан» и «апельсин».
Метод 5: использование здесь документов
Если у вас есть ряд сложных команд или скрипт, который вы хотите выполнить удаленно, вы можете использовать здесь документы. Вот пример:
ssh username@hostname << EOF
command1
command2
command3
EOF
В этом методе команды между маркерами «EOF» будут выполняться на удаленном компьютере.
SSH предоставляет несколько методов для выполнения нескольких команд в одной строке, что позволяет эффективно управлять удаленными системами. Используя точки с запятой, двойные амперсанды, двойные вертикальные черты, раскрытие фигурных скобок или документы здесь, вы можете упростить свой рабочий процесс и автоматизировать повторяющиеся задачи. Поэкспериментируйте с этими методами, чтобы найти наиболее подходящий для вашего конкретного случая использования.
Не забывайте проявлять осторожность при выполнении нескольких команд в одной строке, поскольку неправильные команды или неправильная последовательность могут иметь непредвиденные последствия. Всегда дважды проверяйте свои команды перед их запуском в производственных системах.