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

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

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

read -rs 'pw?Password: '

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

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

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

(FWIW, gpg2이렇게 하므로 가능하다는 것을 알지만... 방법을 모르겠습니다.)

답변1

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

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

관련 정보