miércoles, 11 de junio de 2008

Como usar readline con scripts interactivos

Para usar readline con read hay que usar la opción -e, pero además hay que guardar en el historial lo que se acaba de escribir con history -s, junto con utilizar otro archivo de historial y leerlo al principio y guardarlo al final, queda:
#!/bin/bash
HISTFILE=~/.script_history
history -r
trap "history -w; exit" INT TERM EXIT

while read -ep ">> " line; do
history -s "$line"
echo $line
done

Con esto a medida que vamos introduciendo líneas podemos usar la funcionalidad de readline, como subir y bajar por el historial.

Referencias

1 comentario:

  1. Por aquí usamos rlwrap, que sirve para que un programa que no utilice readline pueda tener historia y puedas usar cursores y tal ...

    Me parece que ya lo conocias, pero por si acaso te viene bien ;)

    Saludos!

    ResponderEliminar