如何将一个文件映射到一个shell命令来执行当你`cat`文件?

我想创build一个文件并以某种方式将其挂接到一个shell命令,每当我cat该文件时就会执行该命令。 这样该文件的内容就是shell命令的stdout

就像/proc/meminfo

谢谢

Solutions Collecting From Web of "如何将一个文件映射到一个shell命令来执行当你`cat`文件?"

/proc/meminfo生活在一个由内核实现的特殊文件系统procfs 。 您可以使用FUSE在用户空间中做类似的事情。

我们曾经这样做“回来”,使程序生成的.finger文件。

使你的文件进入一个命名管道。 你使用mknod程序来做到这一点。

然后创建一个程序,该程序可以是一个shell脚本,它不断循环并将内容写入该命名管道。

 #!/bin/sh mknod file p 2>/dev/null while true; do ( echo This is my file. echo There are many like it. echo But this one is mine. ) >> file done 

由于某些原因,它不会让我用Control-C来杀死它,所以我必须使用Control-Z,然后kill %1

现在,当你cat file你会得到的内容,如下所示:

 $ cat file This is my file. There are many like it. But this one is mine. 

也许你应该解决这个问题,写一个shell命令并执行,而不是猫开始? 任何“回声”编辑将出现在标准输出。 你提出的解决方案是“不是unix方式”。