在文件中打印 GNU 屏幕结果
Printing GNU-screen results in a file
我正尝试在 linux 上使用 screen 命令。在分离会话完成后,我需要将在 normal shell 命令中获得的标准输出打印到单独的文件中。我该怎么做?
特别是,我正在尝试 运行 屏幕上的 Weka 实验,我需要将结果放在一个单独的文件中。比如下面的结果?
screen java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10
当我不使用屏幕时,我只是使用以下方法获取结果:
java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10 > file.output
您总是可以简单地 运行 命令,而不是直接,而是通过 shell:
screen bash -c "java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10 > file.output"
或者,可以使用内置的屏幕会话日志记录。不幸的是,screen
并不是特别聪明,而且有些问题,因此人们不得不诉诸诡计来允许设置自定义输出文件。我能想到的最佳方法如下。
创建特殊配置文件,例如~/.screenrc-redir
。内容只是一行:
logfile $OUTFILE
现在,在 bash
提示符下,重定向可以这样完成:
OUTFILE=file.output screen -L -c ~/.screenrc-redir <your-command>
它的作用是启动带有日志重定向的屏幕,并将会话的输出发送到环境变量名称指定的文件。
理论上,命令行上的-L
可以替换为配置文件中的log on
。但无论出于何种原因,这都行不通。可能是 screen
.
中的错误
我正尝试在 linux 上使用 screen 命令。在分离会话完成后,我需要将在 normal shell 命令中获得的标准输出打印到单独的文件中。我该怎么做?
特别是,我正在尝试 运行 屏幕上的 Weka 实验,我需要将结果放在一个单独的文件中。比如下面的结果?
screen java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10
当我不使用屏幕时,我只是使用以下方法获取结果:
java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10 > file.output
您总是可以简单地 运行 命令,而不是直接,而是通过 shell:
screen bash -c "java weka.classifiers.bayes.NaiveBayes -t data.arff -x 10 > file.output"
或者,可以使用内置的屏幕会话日志记录。不幸的是,screen
并不是特别聪明,而且有些问题,因此人们不得不诉诸诡计来允许设置自定义输出文件。我能想到的最佳方法如下。
创建特殊配置文件,例如~/.screenrc-redir
。内容只是一行:
logfile $OUTFILE
现在,在 bash
提示符下,重定向可以这样完成:
OUTFILE=file.output screen -L -c ~/.screenrc-redir <your-command>
它的作用是启动带有日志重定向的屏幕,并将会话的输出发送到环境变量名称指定的文件。
理论上,命令行上的-L
可以替换为配置文件中的log on
。但无论出于何种原因,这都行不通。可能是 screen
.