Последовательный порт Arduino Micro разрывает соединение через несколько секунд

tl;dr
user1> ssh user2@server2 '$env'

Длинный ответ

Вам не хватает $в вашем первом примере запуска команды ssh... если вы действительно вводили ssh user2@server2 "env", тогда "env"останется литеральной строкой и не будет расширяться ни в какие переменные среды.

Если вы хотите, чтобы user2выполнял команду, используя переменные среды user2, вам нужно передать строку, которая при запуске будет расширяться в эти переменные.Например:

user1> ssh user2@server2 'echo $PATH'

Будет эхо user2PATHна терминал.

Однако вам также необходимо знать, что когда вы запускаете команду через ssh, ~/.profileнезапускается заранее (см. обсуждение здесь) . Итак, если вы хотите получить доступ к переменным среды, определенным в ~/.profile, выполните следующее:

user1> ssh user2@server2 'source ~/.profile; $env'

ПРЕДУПРЕЖДЕНИЕ: если вы используете двойные кавычки (") вместо одинарных кавычки ('), то оболочка, запущенная user1, расширит любые переменные среды внутри двойных кавычек до user1переменных среды beforeкоманда когда-либо отправляется через ssh пользователю user2.

1
15.11.2016, 22:34
0 ответов

Теги

Похожие вопросы