在远程主机上执行命令失败

在远程主机上执行命令失败

我正在尝试在远程主机上执行一些命令,如下所示:

ssh -t -t -l user 172.20.20.20 <<EOF
  pid=$(ps -ef | grep [a]pp-management | awk '{print $2}') && kill -9 $pid && rm -rf CI/*
EOF

发生的情况是我在远程服务器上保持登录状态并且杀死没有执行:

user@ubuntu:~$ pid= && kill -9  && rm -rf CI/*
kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]

都没有rm被处决,我做错了什么?

我看到没有任何内容传递给kill -9 命令,这是为什么?

答案1

$在生成作为命令的输入传递的字符串之前,在本地评估由定界文档中的符号引入的扩展ssh

为了避免这种情况,请转义定界文档中的命令,例如使用引号EOF

ssh ... <<"EOF"

相关内容