передача аргумента скрипту bash, который выполняется путем перенаправления на bash - PullRequest
1 голос
/ 06 марта 2012

Я пытаюсь передать аргумент или установить переменную для сценария bash, который выполняется удаленно.Частично проблема в том, что сервер, на который я подключаюсь, выполняет chroot после подключения.Единственный способ выполнить скрипт выглядит так:

ssh user@server 'bash -ex' <  /tmp/script

Мне нужна переменная в этом скрипте.Неважно, является ли это аргумент arg или переменная окружения, передаваемая в bash.Единственный способ решить эту проблему - это сделать что-то вроде:

sed -e s/VAR/VAR=dog/g /tmp/script > /tmp/replaced
ssh user@server 'bash -ex' < /tmp/replaced

Я думаю, очевидно, почему мне не нравится это решение.Можно ли делать то, что я хочу?

1 Ответ

2 голосов
/ 06 марта 2012

Если вы правильно настроите SendEnv (клиент) и AcceptEnv (сервер), вы можете сделать так, чтобы ssh отправил вам переменную.

VAR=dog ssh user@server 'bash -ex' < /tmp/replaced
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...