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」に存在するため、「$ HOME/.bashrc」を編集してPATH環境に「/ var/some_location」を追加しようとしました
しかし、それはうまくいきませんでした。デフォルトの.bashrc(Ubuntu 10.4 LTS)は、以下のようなコードによるソーシングを防ぐため
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
ssh非ログインシェルの環境を変更する場合。その行の上にコードを追加する必要があります。
Bash呼び出しの仕組み、どのドットファイルが何をするのか、そしてそれらをどのように使用/構成するのかについての優れたリソースについては、以下をお読みください。
Aymanのソリューションが機能しない場合は、.profile
ではなく.bash_profile
という名前をファイルに付けてみてください。それは私のために働いた。