.bashrc при входе в систему через ssh

271

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

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

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

  • 75
    Как же это "не по теме"?
  • 7
    Я не такой строгий, но думаю, что это относится к serverfault.com, superuser.com или askubuntu.com
Показать ещё 2 комментария
Теги:
ssh

4 ответа

475
Лучший ответ

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

if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi
  • 0
    работает на Ubuntu 11.04 natty
  • 1
    У меня работало на FreeBSD 8.2
Показать ещё 15 комментариев
47

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

 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

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

  • 7
    Спасибо друг! Это был бит, который не работал для меня :)
  • 0
    Классный совет, роса. Я столкнулся с этой ловушкой при запуске сценариев от Дженкинса. Я вошел через SSH, и это сработало. Дженкинс вошел в систему без интерактивного доступа, и это не удалось.
Показать ещё 3 комментария
27

Для отличного ресурса о том, как работает bash, какие dotfiles делают то, что и как вы должны использовать/настраивать, читайте это:

  • 0
    Отличная ссылка!
  • 0
    Ключевой отрывок: «заставляет его читать / etc / profile, а затем один из .bash_profile или .bash_login или .profile».
21

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

  • 1
    Потрясающие. Я потерял 15 минут на этой детали.
  • 0
    Это добилось успеха в Ubuntu 12.10
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню