PASS 비밀번호 저장: 환경 변수는 비밀번호 저장 위치에 영향을 미치지 않습니다.

PASS 비밀번호 저장: 환경 변수는 비밀번호 저장 위치에 영향을 미치지 않습니다.

한동안 비밀번호를 저장하기 위해 pass를 사용해왔는데, 이제는 기본 위치에서 비밀번호 저장소를 이동하고 싶습니다. 매뉴얼 페이지에 따르면 PASSWORD_STORE_DIR변수를 원하는 경로로 설정하는 것만으로도 기본 경로를 무시할 수 있지만 제 경우에는 아무런 효과가 없었습니다. .password-store폴더를 새 위치로 이동 하고 환경 변수를 설정한 후 명령을 실행하면 pass"오류: 비밀번호 저장소가 비어 있습니다. 'pass init'을 시도하십시오."라는 메시지가 나타납니다. .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".

문제가 무엇인지에 대한 아이디어가 있습니까? 변수명 등에 오타가 없는지 확인했습니다.

답변1

변수와 해당 값은 pass셸에서 시작되어 별도로 실행되는 프로세스에서 액세스해야 하므로 변수는 환경 변수여야 합니다. 환경 변수는 하위 프로세스에 의해 상속되지만 다른 쉘 변수는 상속되지 않습니다.

귀하의 경우 export변수를 사용하여 PASSWORD_STORE_DIR환경 변수로 표시하는 것을 잊었습니다.

export PASSWORD_STORE_DIR=~bakhtin/.pass

export PASSWORD_STORE_DIR이미 값을 할당한 경우 변수를 환경 변수로 표시할 수도 있습니다.

환경에 변수를 전달하는 또 다른 방법은 pass호출하는 쉘에서 쉘 변수로 생성하지 않고 호출 전에 할당을 작성하는 것입니다 pass.

PASSWORD_STORE_DIR=~bakhtin/.pass pass

이는 프로세스에 대한 변수 값을 설정 pass하지만 현재 쉘에 변수를 생성하지는 않습니다.

관련 정보