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

时间:2013-11-08 19:34:28

标签: shell ssh nohup

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

a="nohup ./startWebLogic.sh &".

我需要在远程服务器上运行此命令以及其他一些命令。我试过如下......

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

当我运行上面的脚本时,它在登录远程服务器后没有做任何事情,它既没有抛出任何错误,也没有运行nohup命令。我的意图是使用远程服务器启动WebLogic的nohup ...谢谢!

3 个答案:

答案 0 :(得分:1)

你可以这样运行:

ssh user@server "$a"

变量$a将被展开并传递给server处的shell。

如果你想使用&lt;

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

请注意sh -s此处,我删除了<<EOF之间的空格。

答案 1 :(得分:0)

使用=“nohup ./startWebLogic.sh&gt;&gt; nohup.out 2&gt;&amp; 1&amp;”

答案 2 :(得分:0)

我遇到类似的问题,请尝试创建文件例如 a.sh

#!/bin/bash
nohup ./startWebLogic.sh &
exit 0

并设置 a="./a.sh"

相关问题