Я хочу выполнить некоторую удаленную команду на моем сервере, используя библиотеку 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")