将连续命令输出写入文件而不结束命令

将连续命令输出写入文件而不结束命令

要使用command > file.txt,该命令必须停止运行才能将其输出写入 file.txt。

我有一个命令将无限期地运行,直到我关闭我的电脑(自动)。我希望记录它的输出,以便稍后查看。这可能吗?

我已经尝试过&>在我的 Windows 机器上不起作用(我安装了 git bash 命令)。并且2>不会改变任何东西。

编辑:

该文件command.sh包含以下内容:

python ../tool.py -dev

该 tool.py 将运行直到终止 (^C)。

我也无法编辑 python 程序,因为它定期从我无法写入的 git 存储库中提取。

编辑2:我正在运行 Windows 7,并且适用于 Windows 的 Git安装后会安装很多linux功能,比如ls等等。

答案1

要使用command > file.txt,该命令必须停止运行才能将其输出写入 file.txt。

这种说法完全错误。每当命令刷新其输出流时,就会写入输出。当命令退出时也会发生这种情况。

因此,请确保该命令定期刷新其输出流。

答案2

@ctrl-alt-delor 的答案是正确的,但没有解决您编辑的问题 - 并且编辑非常重要。而且从评论看来,这个问题还有一些限制仍在“出来”。

在讨论的现阶段,有两个事实似乎很突出。根据这两个事实,我可以得出一个结论:

  1. 在 Python 程序中,您可以完全控制输出数据“刷新”到文件的方式和时间。但是,您必须在生成输出的 Python 程序中行使该控制权。

  2. 你说你“无法编辑 python 文件”,并且从存储库中提取它们后无法编辑它们。

如果这些是事实,那么有两件事似乎是正确的:

  1. 你的问题的答案是:“不,你不能做你想做的事。”

  2. 由于您已签订的规则或协议,您在执行文件之前无法对其进行编辑。我这样说是因为没有什么“技术上”可以阻止你这样做——或者至少你还没有解释它。如果您的基于 Windows 的工具不能胜任这项工作,我向您保证还有其他基于 Windows 的工具可以胜任。我们并不是在真正谈论火箭科学 - 您通过 git 下载一组文件,并且可以以编程方式或手动编辑它们。

但如果我得出了错误的结论,请原谅我。我确信这里有人可以提供帮助,但我们应该首先了解所有事实 - 这样我们就不会浪费时间去追兔子。

相关内容