どうやってパイプを作るのかしら
program 1 | ... | program N
複数のプログラムがユーザー入力を要求する場合。問題は|
、プログラムを並行して起動するため、端末から並行して読み取りを開始することです。
このような場合|
、プログラムiが何らかの出力を生成した後にのみ、プログラム(i + 1)を開始するパイプがあると便利です。
編集:
例:
cat /dev/sda | bzip2 | gpg -c | ssh user@host 'cat > backup'
ここでは、パスワードを要求するgpg -c
だけでなく。ssh
この特定の例の回避策は、sshキーペアの作成ですが、これはすべてのシステムで可能であるとは限らず、一般的な解決策があるかどうか疑問に思いました。また、gpgでは、パスフレーズをコマンドライン引数として渡すことができますが、セキュリティ上の理由から、これはお勧めしません。