Como posso fazer com que o readcomando interno suporte o histórico, pressionando a tecla para cima / para baixo para alternar entre eles?
Eu tentei pegar quando você pressiona a tecla para cima, mas parece que não funciona read:
read -p '> ' -n 3 foo
echo
echo -n "$foo" | hexdump
Pressionar as teclas de seta parece funcionar e eu posso detectá-lo usando isso; no entanto, se eu pressionar aa↑, ele falhará, pois só lerá o primeiro caractere do identificador da seta para cima, enquanto o terceiro é necessário para distinguir as diferentes setas. chaves.
rlwrapporque (pelo menos na minha máquina)rlwrapé incapaz de lidar com o CTRL-C normalmente, por exemplo, tente executarUSERINPUT=$(rlwrap -o cat)e pressionar CTRL-C e veja como o seu terminal se comporta depois (execute oresetcomando para retornar a um estado sadio novamente) .