¿Cómo puedo hacer que el read
comando incorporado soporte el historial, presionando la tecla arriba / abajo para recorrerlos?
He intentado atrapar cuando presionas la tecla arriba, sin embargo, no parece funcionar con read
:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Al presionar las teclas de flecha parece funcionar y puedo detectarlo usando esto, sin embargo, si presiono aa↑, fallará, ya que solo leerá el primer carácter del identificador de la flecha hacia arriba, mientras que el tercero es necesario para distinguir la flecha diferente llaves.
fuente
rlwrap
cuando (al menos en mi máquina)rlwrap
no puede manejar CTRL-C con gracia, por ejemplo, intente ejecutarUSERINPUT=$(rlwrap -o cat)
y presionar CTRL-C y ver cómo se comporta su terminal después (ejecute elreset
comando para volver a un estado sano nuevamente) .