远程服务器shell上的命令执行

时间:2013-11-25 16:19:52

标签: shell ssh remote-access

我在shell上使用ssh在远程服务器上运行一个简单的命令。

我目前已登录myHost01并且我正在myHost02上运行此命令

预期结果为this is a test myHost02。但是,我得到this is a test myHost01

这是我的命令

sshpass -p root ssh -q root@127.0.0.2 "echo this is a test `hostname`"

我不知道为什么它从服务器的主机名中运行命令!!!


当我运行这个

时,也是值得注意的
sshpass -p root ssh -q root@127.0.0.2 "hostname"

我得到myHost02(这是正确的输出)

1 个答案:

答案 0 :(得分:3)

将命令用单引号传递,如下所示。双引号使shell在就地执行命令替换hostname(本地)并将结果字符串this is a test myHost01传递给ssh

sshpass -p root ssh -q root@127.0.0.2 'echo this is a test `hostname`'