Linux SSH并创建一个名为machines name的日志文件

Linux SSH并创建一个名为machines name的日志文件,linux,shell,ssh,nohup,Linux,Shell,Ssh,Nohup,我运行了一个脚本,该脚本通过ssh连接主机并运行java程序。我使用nohup并希望输出和错误日志文件名为hostnameoutput.log和hostnamererror.log。我无法运行这个程序。我尝试将值保存在变量中,并将其附加到日志文件名中,还尝试了直接方法 下面的方法是直接创建一个附加机器名的日志文件。这里的错误是什么 ssh $host "hostname; nohup java -cp program.jar >hostnameoutput.log 2>hostnam

我运行了一个脚本,该脚本通过ssh连接主机并运行java程序。我使用nohup并希望输出和错误日志文件名为hostnameoutput.log和hostnamererror.log。我无法运行这个程序。我尝试将值保存在变量中,并将其附加到日志文件名中,还尝试了直接方法

下面的方法是直接创建一个附加机器名的日志文件。这里的错误是什么

ssh $host "hostname; nohup java -cp program.jar >hostnameoutput.log 2>hostnameerror.log & "

您希望日志文件位于何处-假定为/bin/bash

使用远程主机名创建远程日志文件:

ssh $host 'nohup java -cp program.jar >`hostname`output.log 2>`hostname`error.log &'
使用远程主机名创建本地日志文件

 nohup (ssh $host 'java -cp program.jar ' > ${host}.output.log 2> ${host}error.log ) &

老实说,我无法说出您想要什么,请以此为起点。

这里可能会出现一些语法问题,例如引号集不平衡,这将根本无法执行。如果不知道您输入的实际行,则很难进行调试。你能用你正在使用的实际行替换文本吗?很抱歉造成混淆。这是我执行的命令。它做了ssh并向我显示了主机名。但后来使用类似的命令,我尝试用output.log和error.log追加机器名。它不起作用。ssh$host“
hostname
;nohup java-cp program.jar>
hostname
output.log 2>
hostname
error.log&”请编辑您的原始问题,以反映您实际键入的内容,包括第二组引号的位置等。您可能还想回答下面有人提出的问题。感谢您的答复和建议。抱歉造成混淆。谢谢你的帮助。实际上我创建的文件不在当前的工作目录中,这让我很困惑。默认情况下,它们会转到主目录。问题的语法是正确的。谢谢