
我有一個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