我使用pass存储密码已经有一段时间了,但是现在我想将密码存储从默认位置移动。根据手册页,只需将PASSWORD_STORE_DIR变量设置为所需的路径就可以覆盖默认路径,但在我的示例中,这没有任何效果。在我将.password-store文件夹移动到一个新位置并设置环境变量之后,执行pass命令会导致"Error: password存储为空。请尝试"pass“”。即使简单地重命名主目录中的.password-store:
$ cd
$ mv .password-store .pass
$ PASSWORD_STORE_DIR=/home/bakhtin/.pass #bakhtin is the user name
$ pass
Error: password store is empty. Try "pass init".对这个问题有什么想法吗?我确保变量名称中没有拼写错误等等。
发布于 2022-10-08 14:01:10
由于变量及其值需要由pass访问,因此进程从shell开始并与其分开运行,因此变量需要是一个环境变量。环境变量由子进程继承,但其他shell变量不继承。
在您的示例中,您只是忘记在export变量上使用PASSWORD_STORE_DIR将其标记为环境变量。
export PASSWORD_STORE_DIR=~bakhtin/.pass如果您已经为变量分配了一个值,也可以使用export PASSWORD_STORE_DIR将该变量标记为环境变量。
另一种将变量传递到pass环境而不将其作为调用shell中的shell变量创建的方法是在调用pass之前编写赋值:
PASSWORD_STORE_DIR=~bakhtin/.pass pass这将为pass进程设置变量的值,但不会在当前shell中创建变量。
https://unix.stackexchange.com/questions/720255
复制相似问题