Вопрос

Когда я подключаюсь по ssh к своему Ubuntu-box с Hardy 8.04, переменные среды в моем .bashrc не установлены.

Если я создаю исходный .bashrc, переменные установлены правильно, и все в порядке.

Почему .bashrc не запускается при входе в систему?

Это было полезно?

Решение

.bashrc не получен при входе по SSH. Вам нужно указать его в своем .bash_profile следующим образом:

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

Другие советы

У меня была похожая ситуация, как у Хобхауса. Я хотел использовать команду

 ssh myhost.com 'some_command'

и «some_command» существует в «/ var / some_location» поэтому я попытался добавить '/ var / some_location' в среде PATH отредактировав '$ HOME / .bashrc'

но это не сработало. потому что по умолчанию .bashrc (Ubuntu 10.4 LTS) предотвращает получение кода, как показано ниже

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

так что если вы хотите изменить среду для не-логина ssh. Вы должны добавить код над этой строкой.

Отличный ресурс о том, как работает вызов bash, какие точечные файлы что делают и как их следует использовать/настраивать, прочтите здесь:

Если решение аймана не работает, попробуйте назвать ваш файл .profile вместо .bash_profile . Это сработало для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top