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