
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