diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2024-08-20 20:42:16 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2024-08-20 20:42:16 -0300 |
commit | d50c3847192acbb3a5be68b67320fd1819fa81fb (patch) | |
tree | aaa338f51b4ae09c18a5980d5952232d3bf51678 /repl | |
download | utils-cli-d50c3847192acbb3a5be68b67320fd1819fa81fb.tar.gz utils-cli-d50c3847192acbb3a5be68b67320fd1819fa81fb.tar.bz2 |
Initial import
Diffstat (limited to 'repl')
-rwxr-xr-x | repl | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -0,0 +1,31 @@ +#!/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 "$1" ]; then + echo "usage: $BASENAME <command> [base-args]" + exit 1 +fi + +# Dispatch +_repl $* |