從鍵盤而不是標準輸入讀取密碼

從鍵盤而不是標準輸入讀取密碼

我有一個zsh提示鍵盤輸入的腳本:

read -rs 'pw?Password: '

該腳本還需要從標準輸入讀取文件的內容。但該read命令採用 stdin 的第一行並將其用作密碼的輸入:

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

有辦法解決這個問題嗎?我更喜歡zshbash解決方案,儘管我也對其他人持開放態度。

(FWIW,gpg2這樣做,所以我知道這是可能的......只是不知道如何。)

答案1

/dev/tty無論標準輸入從何處重定向,始終可以透過 存取終端。

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

相關內容