Заполнить глобальную переменную на удаленной машине при подключении через ssh - PullRequest
1 голос
/ 12 января 2011

У меня проблемы с заполнением переменной при подключении к удаленному компьютеру через ssh.

Я пытаюсь выполнить следующую инструкцию в bash-скрипте:

ssh user@host '$ INSTALL_DIR / script / replaceAll.sh' "$ orig_val $ new_val";

$ INSTALL_DIR - это глобальная переменная на обеих машинах с разными значениями на каждой, а $ orig_val и $ new_val - это вычисляемые переменныев самом скрипте.Я использую SunOS 5.10

Проблема в том, что $ INSTALL_DIR использует локальное значение, в то время как оно должно использовать удаленное значение.Можете ли вы сказать мне, что я делаю здесь не так?

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Escape знака доллара:

ssh user@host '\$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val"
0 голосов
/ 12 января 2011

ваша оболочка оценивает переменную перед ее передачей в ssh, вам нужно заставить оболочку обрабатывать аргументы как чистый текст

...