aescrypt 无法与管道中的 pv 配合使用

aescrypt 无法与管道中的 pv 配合使用

我正在编写一个 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 仅计算通过它的数据,但不会修改它。这有什么问题?

相关内容