Environment-Variables
PASS 密碼儲存:環境變數對密碼儲存位置沒有影響
我一直在使用 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 變數不被繼承。在您的情況下,您只是忘記
export
在PASSWORD_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 中創建變數。