Я хочу выполнить некоторую удаленную команду на своем сервере, используя библиотеку net-ssh.
У меня есть такой пример:
Net::SSH::start(host, user, options = {:keys => '~/.ssh/id_rsa'}) do |ssh|
puts ssh.exec!("echo $PATH")
ssh.loop
end
Результат: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games
Моя проблема в том, что мой PATH не загружен должным образом.
У меня также должны быть некоторые пути RVM и пользовательские пути, определяемые в моем .zshrc.
Как я могу изменить это поведение, чтобы позволить net-ssh использовать мой .zshrc для загрузки среды по умолчанию?
Решение:
puts ssh.exec!("source ~/.zshrc; echo $PATH")