표준 입력 대신 키보드에서 비밀번호 읽기

표준 입력 대신 키보드에서 비밀번호 읽기

zsh키보드 입력을 요청하는 스크립트가 있습니다 .

read -rs 'pw?Password: '

또한 스크립트는 표준 입력에서 파일 내용을 읽어야 합니다. 그러나 이 read명령은 stdin의 첫 번째 줄을 가져와 이를 암호 입력으로 사용합니다.

myscript <<< 'line1\nline2'    # pw == 'line1'

이 문제를 해결할 방법이 있나요? 나는 다른 사람들에게도 개방적이지만 솔루션을 zsh선호 합니다 .bash

(FWIW, gpg2이렇게 하면 가능하다는 것을 알 수 있습니다. 방법은 잘 모르겠습니다.)

답변1

/dev/tty표준 입력이 어디에서 리디렉션되는지에 관계없이 항상 터미널을 통해 액세스할 수 있습니다.

read -rs 'pw?Password: ' </dev/tty

관련 정보