首页 > 解决方案 > 一个命令在标准输出上放一个键,然后是下一个 | 使用从标准输入获取的密钥打开数据库

问题描述

我有一个命令输出一个密钥,pass key/ffff.kdbx第二个命令从标准输入获取一个密钥来打开数据库keepassxc --pw-stdin。我对 bash 的经验很少,并希望我可以用管道连接这两个命令:

pass key/ffff.kdbx | keepassxc --pw-stdin

该命令导致keepasxc程序打开需要输入,但没有从第一个程序中获取输出作为输入。第一个产生预期的输出:

pass  key/ffff.kdbx
xxxxxxxx

我明显天真的方法有什么问题,必须改变什么?

这个想法是使用存储在 Unix 密码管理器中的密钥来打开 KeepassXC 密码管理器(它与浏览器的集成比 pass 更好)。谢谢你的帮助!

标签: bash

解决方案


--pw-stdin仅当您还指定kdbx要打开哪个选项时,该选项才有效。以下应该有效:

pass key/ffff.kdbx | keepassxc --pw-stdin /path/to/your/database.kdbx

您可能还希望使用bash 进程可以在继续运行nohup keepassxc ... &时终止。keepassxc


推荐阅读