我想知道是否有办法从 bash 输出创建“虚拟文件”。
示例:假设我想将 的输出mysqldump
作为附件通过电子邮件发送到外部电子邮件地址。我可以使用 Mutt 来做到这一点。mutt
我需要使用的选项是-a <name of the file I want to attach>
. 我知道我可以使用一个临时文件:
mysqldump mysqldumpoptions > /tmp/tempfile && mutt -a /tmp/tempfile admin@example.org
Run Code Online (Sandbox Code Playgroud)
但我宁愿将mysqldump
输出直接重定向到 Mutt。Mutt 的-a
选项只接受一个文件而不是一个流,但也许有一种方法可以将某种虚拟文件描述符或类似的东西传递给它。就像是:
mutt -a $(mysqldump mysqldumpoptions) admin@example.org
Run Code Online (Sandbox Code Playgroud)
是否可以?如果不是,为什么?
这可能是一个愚蠢的例子,肯定有更简单的方法来做到这一点,但我希望它能解释我关于从另一个命令的输出创建虚拟文件的问题。