执行此命令时:
user@local:~ >ssh user@remote " export myvar=myvalue ; echo myvar=$myvar ; "
我得到输出:
myvar=
直接在远程计算机上运行时,我得到了预期的结果:
user@remote:~ > export myvar=myvalue ; echo myvar=$myvar ;
输出:
myvar=myvalue
那么如何在ssh命令中设置变量?
答案 0 :(得分:10)
那是因为你使用双引号,所以在本地机器上扩展变量之后,甚至会调用 ssh。使用单引号:
ssh user@remote 'export myvar=myvalue ; echo myvar=$myvar'