Environment-Variables

PASS 密碼儲存:環境變數對密碼儲存位置沒有影響

  • October 8, 2022

我一直在使用 pass 來儲存密碼,但現在我想將我的密碼儲存從預設位置移動。根據手冊頁,將PASSWORD_STORE_DIR變數設置為所需的路徑以覆蓋預設路徑就足夠了,但是在我的情況下,這沒有效果。將.password-store文件夾移動到新位置並設置環境變數後,執行命令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".

關於問題可能是什麼的任何想法?我確保變數名稱等沒有拼寫錯誤。

由於變數和它的值需要被訪問pass,一個程序從 shell 啟動並與它分開執行,所以該變數需要是一個環境變數。環境變數由子程序繼承,但其他 shell 變數不被繼承。

在您的情況下,您只是忘記exportPASSWORD_STORE_DIR變數上使用將其標記為環境變數。

export PASSWORD_STORE_DIR=~bakhtin/.pass

export PASSWORD_STORE_DIR如果您已經為其賦值,您也可以使用 just將變數標記為環境變數。

將變數傳遞到環境中的另一種方法是pass在呼叫 shell 中甚至不將其創建為 shell 變數的情況下,將賦值寫在呼叫的前面pass

PASSWORD_STORE_DIR=~bakhtin/.pass pass

這會為程序設置變數的值,pass但不會在目前 shell 中創建變數。

引用自:https://unix.stackexchange.com/questions/720255