Cómo get una input de historial para mostrar correctamente en múltiples líneas

Supongamos que he ingresado una function en el indicador bash, en varias líneas en lugar de apretarlo en uno con punto y coma:

$ function blah { echo blah } $ history -1 12690 function blah {\necho blah\n} 

¿Cómo hacer que esto se visualice con caracteres reales de nueva línea en lugar de '\ n'?

Puede habilitar y deshabilitar esta function dentro de Bash utilizando el command shopt . De la página man de Bash.

extracto

 cmdhist If set, bash attempts to save all lines of a multiple-line command in the same history entry. This allows easy re-editing of multiline commands. lithist If set, and the cmdhist option is enabled, multi-line commands are saved to the history with embedded newlines rather than using semicolon separators where possible. 

Habilita la function

 $ shopt -s cmdhist $ shopt -s lithist 

Desactiva la característica

 $ shopt -u cmdhist $ shopt -u lithist 

Ejemplo

 $ shopt -s cmdhist $ shopt -s lithist 

Ahora cuando ejecuto la history :

  70 text=$(cat<<'EOF' hello world\ foo\bar EOF) 71 text=$(cat<<'EOF' hello world\ foo\bar EOF ) 72 ls 73 cd IT/ ... ... 414 shopt -s lithist 415 history | less 416 function blah { echo blah } 417 history | less