У меня есть безголовая виртуальная машина Ubuntu 18.04, где я устанавливаю приложение Rails поверх rbenv.
Я хочу иметь возможность автоматизировать некоторые административные операции, чтобы я мог запускать их локально и выполнять свой скрипт команды над s sh. Однако, когда я делаю это, я получаю систему ruby вместо rbenv ruby. Если я sh прямо в поле, то я получаю правильный rbenv ruby.
Пример:
ubuntu:~$ cat show-ruby.sh
which ruby
ruby --version
ubuntu:~$ bash show-ruby.sh
/home/ubuntu/.rbenv/shims/ruby
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
laptop:~$ ssh ubuntu 'bash show-ruby.sh'
/usr/bin/ruby
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
rbenv инициализируется в моем .bashrc
файле :
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
Поэтому я попытался добавить source ~/.bashrc
в начало моего show-ruby.sh
тестового скрипта, но это не имеет значения. Любые идеи о том, как заставить мои удаленно выполняемые сценарии уважать мой установленный rbenv ruby?