Shell 如何使用ssh运行变量中的nohup命令?

Shell 如何使用ssh运行变量中的nohup命令?,shell,ssh,nohup,Shell,Ssh,Nohup,我是Linux新手。我在一个变量中存储了一个命令 a="nohup ./startWebLogic.sh &". 我需要在远程服务器上运行这个命令,同时运行一些其他命令。我试过以下方法 ssh user@server << EOF few shell commands then eval "$a" EOF sshuser@server您可以这样运行它: ssh user@server "$a" 变量$a将展开并传递给服务器上的shell 如果你想用< ssh user@

我是Linux新手。我在一个变量中存储了一个命令

a="nohup ./startWebLogic.sh &".
我需要在远程服务器上运行这个命令,同时运行一些其他命令。我试过以下方法

ssh user@server << EOF
few shell commands then
eval "$a"
EOF

sshuser@server您可以这样运行它:

ssh user@server "$a"
变量
$a
将展开并传递给
服务器上的shell

如果你想用<
ssh user@server sh -s <<EOF
few shell commands then
eval "$a"
EOF

sshuser@serversh-s与a=“nohup./startweblog.sh>>nohup.out 2>&1&”一起工作时遇到类似问题,请尝试创建一个文件,例如
a.sh

#!/bin/bash
nohup ./startWebLogic.sh &
exit 0
设定
a=“./a.sh”

谢谢Chubin,但是在远程服务器上执行$a之前,我还需要做一些事情。因此,我使用了“我编辑了我的答案”。请检查新版本。我在ssh之后做了一个echo$a,很惊讶地发现“&”不见了,我在声明a(a=“nohup./startWebLogic.sh\&”)时逃过了它。现在,当我运行脚本时,它会给我错误消息-sh:nohup:notfound