なぜこの命令なのか
ssh user@host echo $PATH
または
ssh user@host -t echo $PATH
リモートシステムの代わりにローカルシステムへのパスを返しますか?
これは、次のリモートコマンドを実行することを意味します。
ssh user@host command
このコマンドはリモートコンピュータから取得されますが、ローカルコンピュータで定義されているパスを使用します。これは少し奇妙な動作ですか、それとも私が間違っていますか?
ベストアンサー1
注文する
ssh user@host echo $PATH
変数は引用符なしでコマンドラインに提供されるため、echo
ローカル値に関係なくリモートホストで実行されます。$PATH
得るために離れてパスを指定して、ローカルシェルがこの変数を拡張しないようにします。
ssh user@host 'echo $PATH'
コマンドの周囲の一重引用符はローカルシェルの拡張を防ぎます$PATH
。