rsync
は、他のマシンにログインする非対話型プログラムです。対話型シェルセッションにはinitファイルは必要ありません。また、ログインシェルにはinitファイルが絶対に必要です。またはそう思うでしょう。
それでも、.bashrc
は読み取られ、.profile
は読み取られません(.bashrc
自体に.profile
を読み取らせない限り)。どうして?
rsync
自体はnot~/.bashrc
を読み取ります。ただし、ssh targethost rsync ...
を呼び出し、これはsshd
に接続し、シェル(bash
)を起動します。
bash
が~/.bashrc
を読み取る理由は sshで非対話型コマンドを実行すると.bashrcが読み取られる理由