ディスクに書き込まずにコマンドから別のコマンドに値を渡す

ディスクに書き込まずにコマンドから別のコマンドに値を渡す

ディスクに書き込まずに1つのコマンドの出力を別のコマンドにパイプしたいのですが、2番目のコマンドは対話型なので、値を渡すと2番目のコマンドにSTDINaが割り当てられませんpty。したがって、2番目のコマンドはこの値のロードのみを許可します。 a)設計によるアーカイブ)。

私が達成したいのは次のとおりです。

generic-vault --decrypt "my-secret" | interactive-command --file /proc/self/fd/0

同じユーザーが実行している他のプロセスが最初のプロセスの出力を表示できないようにしながら、これを行う方法はありますか?

答え1

bash(または同様のもの)を仮定すると:

interactive-command --file <(generic-vault --decrypt "my-secret")

プロセスの置き換え

答え2

パイプ(およびbash)を使用すると、次のことができます。

mkfifo mypipe

while sleep 1
do
    generic-vault --decrypt "my-secret" > mypipe
done

次に、以下を介して情報にアクセスします。

read data < mypipe
interactive-command --file $data

関連情報