我想创建一些类似文件的东西(可以像普通文件一样读取),每次读取它时,它都会从命令获取输出。
例如,如果我这样做echo $RANDOM > test
,那么我可以调用它cat test
,它将显示生成的随机数。
除了我需要每次调用cat test
(或以任何其他方式读取它)时,都会调用我的生成器命令(echo $RANDOM
在我的示例中,但实际上它会生成更多数据 - 大约 1kb)。
我认为最好的选择是创建某种设备特殊文件/设备驱动程序?我需要的确实类似于 /dev/zero 或 /dev/random。是否可以简单地创建它?使用标准 gnu/sh 库会比较理想吗?
预先感谢您的任何提示!
答案1
使用命名管道功能:
mkfifo myfancypipe;
while true; do bash -c 'echo $RANDOM' > myfancypipe; done
现在转到另一个终端,每次您都会调用:
cat myfancypipe
您将从以下位置获取信息echo $RANDOM