dynamic地使用程序的输出作为文件的内容

在Linux中,我想创build一个文件,其中的文件内容是由程序的输出dynamic生成的。

已经存在的例子是/ dev / random / dev / urandom,/ dev / zero等等。

我想创build一个像/home/sam/currentdate.txt这样的文件,其中文件的内容是运行一个命令的结果(比如date,

[sam@myserver ~]$ cat ./currentdate.txt Wed Dec 2 12:12:09 PST 2015 [sam@myserver ~]$ 

对于我的用例,我需要通过另一个不能读取程序输出内容的程序来跟踪某些程序的输出,而是需要跟踪一个文件的内容。 我可以通过使用date> filename.txt通过脚本保存输出的内容,但是这需要先将输出保存到磁盘,这在我的使用情况下将是低效的。

一个命名pipe道可能是你的朋友。 创build一个命名pipe道,让你的进程写入它。 您的阅读过程可以从中读取。

这看起来像是XY问题的一个例子。 你究竟想要完成什么?

如果要读取程序的输出并在脚本中使用它,可以调用目标程序并将其输出分配给一个variables: https : //stackoverflow.com/questions/4651437/how-to-set-a -bash-variable-equal-to-the-output-from-a-command 。

如果实际上你想让程序asynchronous运行,并将其输出存储在脚本可以读取的地方,那么你可以使用一个磁盘文件(其实没有你想象的那么多)或者一个命名pipe道,就像Iainbuild议。