質問
Hardy 8.04を実行しているubuntu-boxにsshすると、.bashrcの環境変数が設定されません。
ソース.bashrcを実行すると、変数が適切に設定され、すべて正常に実行されます。
ログイン時に.bashrcが実行されないのはなぜですか?
解決
SSHを使用してログインする場合、
.bashrc
は取得されません。次のように .bash_profile
でソースする必要があります:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
他のヒント
ホブハウスのような状況がありました。コマンドを使用したい
ssh myhost.com 'some_command'
および「some_command」が「/ var / some_location」に存在する だから私はPATH環境に「/ var / some_location」を追加しようとしました 「$ HOME / .bashrc」を編集して
しかし、それは機能していませんでした。デフォルトの.bashrc(Ubuntu 10.4 LTS)は、以下のようなコードによるソーシングを防ぐため
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
so ssh非ログインシェルの環境を変更する場合。 その行の上にコードを追加する必要があります。
bash呼び出しの仕組み、どのドットファイルが何をするのか、そしてそれらをどのように使用/構成するのかについての優れたリソースについては、これを読んでください:
aymanのソリューションが機能しない場合は、 .bash_profile
ではなく、ファイルに .profile
という名前を付けてみてください。それは私のために働いた。
所属していません StackOverflow