~からバッシュマニュアル
リモートシェルデーモンによって呼び出された
Bashは、リモートシェルデーモン(通常はrshd)またはセキュアシェルデーモンsshdによって実行されている場合など、ネットワーク接続に接続されている標準入力を使用して実行されていることを確認しようとします。 Bashがこのように実行中であると判断した場合、
~/.bashrc
ファイルが存在し、読み取ることができる場合は、コマンドを読み取り実行します。 shで呼び出すと、これは行われません。この--norc
オプションを使用すると、この動作を抑制し、--rcfile
他のファイルを強制的に読み取るために使用できます。ただし、rshdまたはsshdは通常、これらのオプションを使用してシェルを呼び出すか、指定を許可しません。
シェルはログインまたは非ログインでssh username@server
提供されますか?
ログインシェルであれば、bashのマニュアルに従ってfromコマンドを実行する~/.profile
のではなく、fromコマンドを実行するのはどうでしょうか?~/.bashrc
ありがとうございます。
私のOSはUbuntu 16.04ですが、bashマニュアルはOSとは関係ありません。
ベストアンサー1
SSH は、次の説明に従ってログインシェルを起動します。マンページ:
もし注文する指定すると、ログインシェルではなくリモートホストで実行されます。
Bashでこれを確認できます。
shopt login_shell
ログインシェルとして実行しているかどうかが表示されます。
Bashは、引用符のセクションで説明されているように、ログインシェルであれ他の方法でも、リモートで起動するときに機能します。あなたが比較する行動はインタラクティブシェル、リモートシェルは.bashrc
対話型ログインシェルアクションの上に処理を追加します。
Ubuntuシステムには通常、.bash_profile
優先度の高いスクリプトがあり、通常はソースコードも.profile
あります。.bash_profile
.bashrc