我想将一个命令的输出传递到另一个命令而不写入磁盘,但第二个命令是交互式的,因此将值传递到STDIN
将阻止第二个命令被分配 a pty
(因此,第二个命令只接受从 a 加载该值)按设计归档)。
我想要实现的目标类似于以下内容:
generic-vault --decrypt "my-secret" | interactive-command --file /proc/self/fd/0
有什么方法可以做到这一点,同时防止同一用户运行的任何其他进程无法查看第一个进程的输出?
答案1
答案2
使用管道(和 bash),您可以执行以下操作:
mkfifo mypipe
while sleep 1
do
generic-vault --decrypt "my-secret" > mypipe
done
然后通过以下方式访问信息:
read data < mypipe
interactive-command --file $data