为什么 Shell 脚本随机停止从 Keychain 获取密码?

Why Shell script randomly stops fetching password from Keychain?

我正在使用以下命令从钥匙串中获取密码

login_name=`security find-generic-password -l 'Main_screen' -a first_screen_user -w`

它可以毫无问题地获取结果。 但有时我会看到我是否在 2-3 周内没有重新启动笔记本电脑。它突然停止返回值。 这有什么特别的原因吗?如何让它在那个时候起作用。

当它 'stops returning the value' 你看到了什么?尝试 运行 -v 获取更多信息。

我花了一段时间才发现的一件事是钥匙串可以在超时或 'sleep':

后锁定

运行Keychain Access,右击你使用的钥匙串,selectChange Settings for Keychain ...。查看 Lock after X minutes of inactivityLock when sleeping 复选框中是否有 selected。

如果一个或两个被 selected,您可以取消选中它们,或者确保 运行 security unlock-keychain 并在没有得到任何值时重复您的命令。