Zshread出于某种原因是 echo'ing ^M's 而不是接受它们作为<Enter>击键。(如果-d已设置,则它们被识别为<Enter>'s,但仍被回显。)它也不支持退格键等基本功能。
我可以通过hacking/run来解决这个问题bash,
> a=$(bash -c 'read -e -p "What would you like to do?: " tmp; echo $tmp')
What would you like to do?: eat cake
> echo $a
eat cake
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更清洁的方法。
zsh ×1