質問

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 という名前を付けてみてください。それは私のために働いた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top