Phil Endecott wrote:
> Dear Bash and Readline Experts,
> 
> I have a simple shell script that reads user commands in a loop using
> "read -e".  -e enables readline, but not its history feature.  Is there
> any way to get readline history with bash's read builtin?

Sure.  You can do it entirely with bash builtins and shell variables.

> I wouldn't want to get the user's regular bash history; rather, this
> program would need its own history file in the user's home directory.
> For example:
> 
> read -e --historyfile=~/.myprogname_history CMD

HISTFILE=~/.myprogram_history
history -r

(The `history -r' is needed if you'd like history to persist across
program invocations.)

To save the lines read to the history list, use `history -s':

read -e CMD
[ -n "$CMD" ] && history -s "$CMD"

If at the end of the script you'd like to save the history to the
history file, use `history -w' or `history -a'.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                       Live Strong.  No day but today.
Chet Ramey, ITS, CWRU    [EMAIL PROTECTED]    http://cnswww.cns.cwru.edu/~chet/


Reply via email to