2

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

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

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

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

当我运行上面的脚本时,它在登录远程服务器后什么都不做,它既不会给我任何错误,也不会运行 nohup 命令..我的目的是使用 nohup 在远程服务器上启动 WebLogic .. 。谢谢!!

4

3 回答 3

1

你可以这样运行它:

ssh user@server "$a"

该变量$a将被展开并传递给位于 的 shell server

如果你想使用 <

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

请注意sh -s这里和那里,我删除了 和 之间的<<空格EOF

于 2013-11-08T19:36:52.430 回答
0

使用 a="nohup ./startWebLogic.sh >> nohup.out 2>&1 &"

于 2013-11-12T02:21:08.157 回答
0

我有类似的问题,尝试创建一个文件,例如 a.sh

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

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

于 2019-03-11T07:50:46.373 回答