在 linux 上创建一个虚拟文件或块设备,其内容是由脚本或进程动态生成的?

问题描述

在 Linux(在我的情况下是 Ubuntu 20.04 LTS)上,是否可以创建虚拟文件或块设备而不是常规文件,当它被读取时,脚本或命令被触发,其输出将作为文件内容

举个简单的例子,假设我有一个名为“current time.txt”的文件。当我读到它时,会运行一个包含 echo "it is currently $(date)" 的 bash 脚本,它的输出是我作为虚拟“当前时间.txt”文件内容返回的内容

也许有点像 /dev/urandom,它不是真正的设备,而是随机生成器的输出

解决方法

检查 FUSE 以获取执行此操作的方法:

https://en.wikipedia.org/wiki/Filesystem_in_Userspace