#unix #ssh
#unix #ssh
Вопрос:
Давайте представим, что в текущей оболочке у меня есть переменная.
$ echo $MY_VAR
$ 2
Я хочу передать значение этой переменной в аргумент команды, которую я выполняю через ssh, например:
ssh -i /ebs/keys/test root@some.ip '/some/command -<here_i_want_to_have_value_of_$MY_VAR_variable>'
Спасибо!
Комментарии:
1. Double «здесь ваш друг.
Ответ №1:
Предполагая, что вы не можете использовать двойные кавычки вокруг всей команды для ssh, вы можете просто разбить $MY_VAR следующим образом:
ssh -i /ebs/keys/test root@some.ip '/some/command -'"$MY_VAR"
Если остальная часть команды для ssh не содержит токенов, которые будут интерпретироваться в двойных кавычках, вы можете заключить всю команду в двойные кавычки вместо одинарных.
Ответ №2:
Используйте двойные кавычки вокруг команды:
ssh -i /ebs/keys/test root@some.ip "/some/command $MY_VAR"
Локальная оболочка расширит переменную в двойных кавычках.