ssh
ホストマシンに入ってecho $PATH
:
$ ssh my@host
$ echo $PATH
私が取得する値は、$PATH
スクリプトをローカルで実行するときとは異なります。
ssh my@host '\
echo $PATH;'
理由をご存知ですか?
メモ:ssh
スクリプトで[他の] CLIを使用すると、フルパス変数を取得できないようです。
ベストアンサー1
これは、ssh()を介してコマンドを実行すると、ssh user@host 'command'
非ログインシェルが開かれるためです。ログインシェルと非ログインシェルの違いの詳細な分析を確認できます。この問題では。本質的に問題の原因は、ssh を介してコマンドを実行すると、コマンドに~/.bash_profile
ソースがないため、パスに対する修正が利用できないことです。
~/.bashrc
解決策は、非ログインシェルを開くときに取得できるファイルにファイルを移動するか、見つかったように.bash_profile
スクリプトから直接インポートすることです。