標準で読み取ったプログラムへの応答を自動的にスクリプトします。

標準で読み取ったプログラムへの応答を自動的にスクリプトします。

コマンドライン暗号化プログラムであるscrypt呼び出しをスクリプトとして作成しようとしています。このように呼ぶことができます。

cat ./mysuperescrettextfile.txt | scrypt enc -

Dash は暗号化のために標準入力からデータを読み込みます。ただし、暗号化するパスワードを求めるメッセージが2回表示されます。パスワードを渡して「-P」フラグを使用したいです。マニュアルページでは、-P フラグを次のように説明します。

If -P is given, then scrypt does not print any prompts, and reads a passphrase 
from stdin.

scryptが暗号化するデータとパスワードを区別できるようにデータを標準に送信することは可能ですか?通常、マニュアルページには相互に排他的なオプションがリストされていますが、-と-Pは相互に排他的なものとしてリストされていないため、これを行うことができるという少しの希望があります。

答え1

これで、コマンドラインにそのファイルを配置できるはずです。-

cat ./passphrase | scrypt enc mysuperescrettextfile.txt 

~からマニュアルページ:

NAME
     scrypt — encrypt and decrypt files.

SYNOPSIS
     scrypt {enc | dec} [-M maxmem] [-m maxmemfrac] [-t maxtime] infile
            [outfile]

DESCRIPTION
     scrypt enc encrypts infile and writes the result to outfile if specified,
     or the standard output otherwise.  The user will be prompted to enter a
     passphrase (twice) to be used to generate a derived encryption key.

関連情報