--- /dev/null
+#!/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 <command> [base-args]"
+ exit 1
+fi
+
+# Dispatch
+_repl $*