【问题标题】:Redirect program output to a file but not at the end of the runtime将程序输出重定向到文件,但不在运行时结束时
【发布时间】:2016-10-28 12:26:30
【问题描述】:

我想将程序的输出重定向到 Linux 控制台中的文件。我找到了使用“>”命令的灵魂。但这对我不起作用。 我需要在程序运行时而不是在运行时结束时输出。因为程序将进度(百分比)流式传输到标准输出。我无法将新工具安装到 Linux 系统。

程序做了一个更新功能:

**预期的输出是: (百分比在程序期间移动((从 0 -100 %))

# erase 
# load file XXX
# 100%
# erase 
# load file XXX
# 100%

仅记录程序结束时的 100% 信息。不是在程序运行时。对我来说,在程序运行时和结束时获取百分比信息很重要。我想在分离的 GUI 中可视化百分比。

【问题讨论】:

  • 请发布上述程序的一些输出,并说明您想对输出的哪一部分进行处理。另外,展示一些你在 ">" 之外所做的工作 - - 不适合我

标签: linux bash redirect output stdout


【解决方案1】:

您是否尝试过管道到 tee ?这里有一些例子。

echo "text" | tee /home/yourusername/file
bash somescript.sh | tee /home/yourusername/somescript.log

【讨论】:

  • @user3707049 如果您需要解决问题的帮助,您需要更具体一些。 “不起作用”是什么意思?这是否意味着您的程序不显示任何内容?还是仅在执行完成时?您能否编辑您的原始问题以显示您如何称呼您的程序、您的程序如何显示信息以及您目前拥有的输出?
【解决方案2】:

怎么样:

$ nohup program > output.txt ; tail -f output.txt
  • nohup 在后台运行 program 将其输出重定向到文件
  • tail -f 在屏幕上流式传输文件的结尾

这当然意味着您无法在运行时与program 进行交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2014-07-01
    • 1970-01-01
    • 2021-09-25
    • 2017-05-09
    相关资源
    最近更新 更多