在bash脚本中使用pinentry tty(如read)
有没有一种方法可以直接在bashscript中使用pinentry tty?例如,作为“读取”的更安全的替代品。我在想这样的事情:在bash脚本中使用pinentry tty(如read),bash,Bash,有没有一种方法可以直接在bashscript中使用pinentry tty?例如,作为“读取”的更安全的替代品。我在想这样的事情: local pass=$(pinentry-tty); 这允许我输入几行,但没有任何内容保存到变量中 不同的pinentry实现不能以您想要的方式轻松调用。它遵循一个简单的协议,该协议还允许配置提示和打印错误消息。示例会话,GETPIN是在STDIN上发出的命令,foo是用户输入的密码短语,在STDOUT上返回其他状态消息: $pinentry 好的,很高兴认识你
local pass=$(pinentry-tty);
这允许我输入几行,但没有任何内容保存到变量中 不同的
pinentry
实现不能以您想要的方式轻松调用。它遵循一个简单的协议,该协议还允许配置提示和打印错误消息。示例会话,GETPIN
是在STDIN
上发出的命令,foo
是用户输入的密码短语,在STDOUT
上返回其他状态消息:
$pinentry
好的,很高兴认识你
格特平
德福
好啊
完整的文档包含在中,但是。虽然这不适用于所有的pinentry实现,但您可以尝试按如下方式调用它:
password=$(echo-e“SETPROMPT请输入您的密码:\nGETPIN\n”|\
松林垂|\
sed-nr“0,/^D(+)/s/\1/p”)
在我的Arch机器上,这适用于
pinentry-gnome3
,pinentry-gtk-2
和pinentry qt
-但不适用于pinentry curses
或pinentry tty谢谢,这对其他情况很有帮助。但是在这里,我正在寻找一种在gpg之外使用它的方法。