#!/bin/bash # # Generic read-eval-print loop script. # # Parameters BASENAME="`basename $0`" # Shell function _repl { local last_exit_code="0" local command="$1" shift # While Ctrl-C isn't typed, read STDIN and invoke a command while read -rep "${last_exit_code} ${command}> " STDIN; do history -s "$STDIN" ${command} $* ${STDIN[@]} last_exit_code="$?" done } # Check if [ -z "$COMMAND" ]; then echo "usage: $BASENAME [base-args]" exit 1 fi # Dispatch _repl $*