ディスクに書き込まずに1つのコマンドの出力を別のコマンドにパイプしたいのですが、2番目のコマンドは対話型なので、値を渡すと2番目のコマンドにSTDIN
aが割り当てられませんpty
。したがって、2番目のコマンドはこの値のロードのみを許可します。 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