Zsh readpor alguna razón está haciendo eco ^Men lugar de aceptarlos como <Enter>pulsaciones de teclas. (Si -destá configurado, entonces se reconocen como <Enter>'s, pero aún se repiten). Tampoco admite elementos básicos como la tecla de retroceso.
Puedo evitar esto pirateando / corriendo 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
pero me pregunto si hay una forma más limpia.

zshinstalación 4.3.10;% read aFunciona bien aquí.readfunciona en máquinas Linux.Respuestas:
Para ingresar una línea de texto cómodamente bajo zsh, use
vared. Usando envaredlugar dereadinvoca zle , que es el equivalente de pasar-ebash para invocar readline.El comportamiento que describe con normalidad
readparece un terminal mal configurado en lugar de un problema de shell. Ejecutestty -apara mostrar la configuración de su terminal, y asegúrese de queeolesté configurado^Myeraseconfigurado para lo que Backspaceenvía su clave. Dependiendo del sistema operativo y de cómo está configurado y en el terminal, Backspaceenvía uno^Ho^?. La configuración de retroceso suele fallar debido a algún archivo de configuración que intenta configurarlo manualmente, por lo que lo primero que debe hacer es rastrear y eliminar dicha configuración incorrecta. Si no encuentra ninguno, revise la configuración de su emulador de terminal para verificar que no esté configurado en algún modo de compatibilidad histórica. Si todo lo demás falla, agregue algo como esto a su~/.zshrc:fuente
varedconstrucción. Resulta quezshzledefinitivamente vale la pena hojear la página de manual.