zsh:read:-p:使用带有 -p 标志的 read 命令时没有协处理错误

zsh:read:-p:使用带有 -p 标志的 read 命令时没有协处理错误

社区。我最近开始使用 zsh 而不是 bash,现在我遇到了一些在 bash 上找不到的问题。其中一个问题:当我使用read -p命令时,显然带有标志 -p,我收到一条错误消息:

读取:-p:无协同进程

另一方面,当我再次切换到 bash 时,此命令运行良好。

我的完整命令:

read -p "what's your name" name

谢谢你的帮助<3

答案1

不同 shell 之间的用法不兼容。

如中所述man zshbuiltins,发出命令提示字符串的方法zsh read是将其附加到标识符名称之后?

          If the first argument contains a `?', the remainder of this word
          is used as a prompt on standard error when the shell is interac‐
          tive.

例如

 % read name\?"what's your name? "
what's your name? 

?这里需要进行转义,以防止 shell 将其视为通配符)或

 % read "name?what's your name? " 
what's your name? 

也可以看看:

相关内容