从键盘而不是标准输入读取密码

从键盘而不是标准输入读取密码

我有一个zsh提示键盘输入的脚本:

read -rs 'pw?Password: '

该脚本还需要从标准输入读取文件的内容。但该read命令采用 stdin 的第一行并将其用作密码的输入:

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

有办法解决这个问题吗?我更喜欢zshbash解决方案,尽管我也对其他人持开放态度。

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

答案1

/dev/tty无论标准输入从何处重定向,始终可以通过 访问终端。

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

相关内容