我是Linux新手。我将命令存储在一个变量中说
a="nohup ./startWebLogic.sh &".
我需要在远程服务器上运行此命令以及其他一些命令。我试过如下......
ssh user@server << EOF
few shell commands then
eval "$a"
EOF
当我运行上面的脚本时,它在登录远程服务器后没有做任何事情,它既没有抛出任何错误,也没有运行nohup命令。我的意图是使用远程服务器启动WebLogic的nohup ...谢谢!
答案 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"