«rvm» имеет две ошибки вызова: установка по умолчанию удаляет файл /etc/profile.d/rvm.sh
и считает, что любой трюк bash теперь доступен глобально.- Это предположение неверно.
Файлы в /etc/profile.d/
«исходят» при входе в систему, но, возможно, не из bash, может даже не из оболочки.Таким образом, хук cd
, который он устанавливает, отсутствует после выхода из оболочки, которая запускает эти файлы.На самом деле, из-за ошибочного способа, которым «rvm» устанавливает этот хук, он уже исчез, когда вы запускаете «голый» bash
в оболочке входа в систему!
Я не знаю, поддерживает ли «rvm» явный вызовдля виртуальных сред, не полагаясь на cd
вход в какой-то каталог (который я считаю второй ошибкой).
Существует один вменяемый обходной путь:
Сделайте ваш источник оболочки /etc/profile.d/rvm.sh
из, например,~/.bashrc
..bashrc
выполняется из любого не-входа в bash, а login-bash обычно настраивается на источник .bashrc
из таких файлов оболочки входа, как ~/.profile
Для вашей проблемы с ssh: должен быть правильный ssh-shell не будет логином-оболочкой?