On Sat, Sep 01, 2007 at 12:11:58AM +0100, 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?

Phil,

  You can use "history -r" to read a file into the shell's history
and "history -s" to add each line that you read into the history.
Then use history -w to save the history back to the file.  Here is
an example with vi style readline editing.

#!/bin/bash
history -r script_history
set -o vi
CMD=""
while true
do
    echo "Type something"
    read -e CMD
    history -s "$CMD"
    echo "You typed $CMD"
    case "$CMD" in
        stop)
            break
            ;;
        history)
            history
            ;;
    esac
done
history -w script_history
echo stopping

-- 
Mike Stroyan <[EMAIL PROTECTED]>


Reply via email to