要使用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 的答案是正确的,但没有解决您编辑的问题 - 并且编辑非常重要。而且从评论看来,这个问题还有一些限制仍在“出来”。
在讨论的现阶段,有两个事实似乎很突出。根据这两个事实,我可以得出一个结论:
在 Python 程序中,您可以完全控制输出数据“刷新”到文件的方式和时间。但是,您必须在生成输出的 Python 程序中行使该控制权。
你说你“无法编辑 python 文件”,并且从存储库中提取它们后无法编辑它们。
如果这些是事实,那么有两件事似乎是正确的:
你的问题的答案是:“不,你不能做你想做的事。”
由于您已签订的规则或协议,您在执行文件之前无法对其进行编辑。我这样说是因为没有什么“技术上”可以阻止你这样做——或者至少你还没有解释它。如果您的基于 Windows 的工具不能胜任这项工作,我向您保证还有其他基于 Windows 的工具可以胜任。我们并不是在真正谈论火箭科学 - 您通过 git 下载一组文件,并且可以以编程方式或手动编辑它们。
但如果我得出了错误的结论,请原谅我。我确信这里有人可以提供帮助,但我们应该首先了解所有事实 - 这样我们就不会浪费时间去追兔子。