如何在zsh中读取1个符号?

rob*_*one 4 zsh

我需要从控制台获取一个字符而不打印它.我试图read -en 1像使用bash一样使用.但这根本不起作用.而且vared似乎没有这样的选择.

如何在zsh中读取1个符号?(我使用的是zsh v.4.3.11v.5.0.2)

Ale*_*lex 5

read -sk
Run Code Online (Sandbox Code Playgroud)

文档:

-s

如果从终端读取,请勿回显字符.目前不适用于-q选项.

-k [num]

只读一个(或数字)字符.所有都被分配到名字,没有分词.当-q存在时,将忽略此标志.除非存在-u或-p之一,否则从终端读取输入.此选项也可以在zle小部件中使用.

请注意,尽管存在助记符'key',但此选项会读取完整字符,如果设置了MULTIBYTE选项,则可能包含多个字节.