5

このコマンドを実行する場合:

user@local:~ >ssh user@remote " export myvar=myvalue ; echo myvar=$myvar ; "

出力が得られます:

myvar=

リモート マシンで直接実行すると、期待どおりの結果が得られます。

user@remote:~ > export myvar=myvalue ; echo myvar=$myvar ;

出力:

myvar=myvalue

では、ssh コマンド内で変数を設定するにはどうすればよいでしょうか。

4

1 に答える 1

13

これは、二重引用符を使用しているためです。そのため、 ssh が呼び出されるに変数がローカルマシンで展開されます。一重引用符を使用します。

ssh user@remote 'export myvar=myvalue ; echo myvar=$myvar'
于 2013-09-27T14:05:14.820 に答える