.bashrc在sshlogin
当我在运行Hardy 8.04的我的Ubuntu的框中ssh,我的.bashrc中的环境variables没有设置。
如果我做一个源.bashrc,variables设置正确,一切都很好。
怎么.bashrc没有在login时运行?
使用SSHlogin时, .bashrc
不是源代码。 你需要像这样在你的.bash_profile
它:
if [ -f ~/.bashrc ]; then . ~/.bashrc fi
我和霍比豪斯有类似的情况。 我想用命令
ssh myhost.com 'some_command'
和'some_command'存在于'/ var / some_location'中,所以我试图通过编辑'$ HOME / .bashrc'在PATH环境中附加'/ var / some_location'
但那不起作用。 因为默认的.bashrc(Ubuntu 10.4 LTS)阻止了像下面的代码
# If not running interactively, don't do anything [ -z "$PS1" ] && return
所以如果你想改变ssh非loginshell的环境。 你应该在该行上面添加代码。
有关bash调用是如何工作的一个很好的资源,什么dotfiles做什么,以及如何使用/configuration它们,请阅读:
- 点文件
如果ayman的解决scheme不起作用,请尝试命名文件.profile
而不是.bash_profile
。 这对我有效。