是否可以将文件链接到命令行的输出?

是否可以将文件链接到命令行的输出?

我想创建符号链接、管道或其他可以用来代替文件的东西。我希望该伪文件执行命令,并且该命令的输出应成为该文件的内容

像这样的东西(不是实际的命令):

ln -s `ssh x@y cat /etc/z.conf` /etc/z.conf

基本上,这样当您运行时cat /etc/z.conf,它就会运行ssh x@y cat /etc/z.conf并将标准输出管道连接到文件句柄。我想,可以在 ac 程序中完成,但我想知道这是否可以仅使用命令行工具来完成。

笔记:我不是在寻找给命令别名的方法。我希望它看起来像一个文件,例如:当我运行一个读取 的服务时/etc/z.conf,它会透明地读取该文件的内容。还:简单地复制文件不是可接受的解决方案

答案1

我找到了解决方案:

#!/bin/bash

mkfifo /etc/z.conf

(
    while (true)
    do
        ssh x@y cat /etc/z.conf > /etc/z.conf
    done
) &

相关内容