我正在编写一个 bash 脚本,通过管道查看器传输文件以查看加密进度。但是,每当我在管道中使用 pv 的 aescrypt 时,我都会收到有关密码不匹配的错误。如果在命令行中以纯文本形式明确指定密码,则不会出现此问题(显然),但这非常不安全。顺便说一句,我的测试密码是单个字符“a”,因此它们确实在输入时匹配。
无论如何都不支持:
$ pv -cN Encryption test.tar | aescrypt -e - -o test.tar.aes
Enter password:
Re-Enter password:
Error: Passwords don't match.
$ aescrypt -e test.tar | pv -cN Encryption >| test.tar.aes
Enter password:
Re-Enter password:
Error: Passwords don't match.
但是,这个功能可以正常使用(没有 pv):
$ cat test.tar | aescrypt -e - -o test.tar.aes
这也有效(嗯,它正确地写入文件):
$ cat test.tar | pv -cN encryption | aescrypt -e - -o test.tar.aes
Enter password: a
Re-Enter password: a
当我输入密码时,它会以纯文本显示在屏幕上。
Aescrypt 宣称完全支持 Linux 管道。据我所知,pv 仅计算通过它的数据,但不会修改它。这有什么问题?