Linux 如何';read-s';在贝壳里?
我知道使用bash和Linux 如何';read-s';在贝壳里?,linux,bash,posix,sh,user-input,Linux,Bash,Posix,Sh,User Input,我知道使用bash和read-ssomevar可以静默地读取用户输入,我想知道是否有一个/bin/sh等价物允许用户输入而不在命令行上显示它 注意:我只是好奇/bin/shread是否以某种方式支持此功能。使用stty命令关闭键入字符的回显 get_entry () { printf "Choose: " stty -echo IFS= read -r choice stty echo printf '\n' } get_entry printf "You chose %
read-ssomevar
可以静默地读取用户输入,我想知道是否有一个/bin/sh
等价物允许用户输入而不在命令行上显示它
注意:我只是好奇
/bin/sh
read
是否以某种方式支持此功能。使用stty
命令关闭键入字符的回显
get_entry () {
printf "Choose: "
stty -echo
IFS= read -r choice
stty echo
printf '\n'
}
get_entry
printf "You chose %s\n" "$choice"
bash
是一个shell;你是在问是否有一种解决方案可以在任何兼容POSIX的shell中使用吗?对于“shell”,你是指POSIX shell,又名/bin/sh
?你的问题很奇怪,你似乎混淆了一些概念,“bash或shell哪个更好”没有意义,因为bash是一个shell。@AlexCohen:/bin/sh
,根据,既不支持-s
也不支持-p
@mklement0 Done and Done:-)这是一个非常好的解决方案,它在/bin/sh
和/bin/bash