Запуск удаленного скрипта - PullRequest
       3

Запуск удаленного скрипта

0 голосов
/ 14 февраля 2019

Я хочу запустить скрипт B на машине B путем вызова скрипта A на машине A, который запускается crontab на регулярной основе.Я сам не пользователь Unix и, посмотрев на подобные вопросы, несколько вещей сбивают меня с толку.

  1. Необходимы ли одинарные кавычки, потому что я вижу, что они иногда используются, но иногда не используются.

    ssh user@host './path/foo.sh'
    ssh user@host foo.sh
    
  2. Если я хочу использовать переменныебудет ли это работать: A.sh:

    path="some/path"
    ssh user@host @path/foo.sh
    

    или мне нужно заключать их в одинарные кавычки?

  3. Всегда ли нужен пароль?Ответы на о том, как запустить файл сценария удаленно с помощью ssh , вообще не упоминали пароли, поэтому мне было интересно, существуют ли типы сценариев, для которых требуется пароль, и те, которые не требуют пароля.Поскольку мой сценарий должен запускаться по расписанию, мне нужно будет автоматизировать процесс аутентификации.Я нашел несколько решений, которые включают ожидаемые сценарии, аутентификацию пары ключей.Но некоторые ответы , в которых не упоминаются пароли, заставляют меня задаться вопросом, нужны ли они вообще.

1 Ответ

0 голосов
/ 14 февраля 2019
  1. Одиночные кавычки необходимы, только если строка содержит специальные символы, особенно пробелы.Почти все, что находится внутри одинарных кавычек, интерпретируется буквально оболочкой.

  2. Переменные расширяются с использованием $, а не @, но вы не можете использовать его внутри одинарных кавычек, так что вы лучшеиспользовать двойные кавычки для этого.Они по-прежнему защищают от пробелов, но допускают расширение $:

    path="some/path"
    ssh user@host "$path/foo.sh"
    
  3. На ssh для удаленной машины, обычно вы используете либо пароль, либо пару ключей.Для автоматизации пара ключей является практически единственным вариантом, потому что вы не хотите хранить пароль в виде обычного текста, а ssh затрудняет его ввод из файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...