Я хочу смочь выполнить команду от своей машины с помощью ssh и пройти через переменную среды $BUILD_NUMBER
Вот то, что я пробую:
ssh pvt@192.168.1.133 '~/tools/myScript.pl $BUILD_NUMBER'
$BUILD_NUMBER
установлен на машине, выполняющей ssh вызов и так как переменная не существует на удаленном хосте, это не становится взятым.
Как я передаю значение $BUILD_NUMBER
?
Если вы используете
ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"
вместо
ssh pvt@192.168.1.133 '~/tools/run_pvt.pl $BUILD_NUMBER'
, ваша оболочка будет интерполировать $ BUILD_NUMBER
перед отправкой командной строки на удаленный хост.
Переменные в одинарных кавычках не оцениваются. Используйте двойные кавычки:
ssh pvt@192.168.1.133 "~/tools/run_pvt.pl $BUILD_NUMBER"
Оболочка раскрывает переменные в двойных кавычках, но не в одинарных. Это преобразуется в желаемую строку перед передачей команде ssh
.