Linux 如何';read-s';在贝壳里?

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 %

我知道使用bash和
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