diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2024-08-10 13:06:15 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2024-08-10 13:06:15 -0300 |
commit | defcbca74eed4a5541cf9fc18f998d59405e2e9f (patch) | |
tree | a30d1b069cf5bac25b5fdd7ded87b965d375e932 | |
parent | 315c8d211702d6926bb48ab46628f54e10f6b18e (diff) | |
download | scripts-defcbca74eed4a5541cf9fc18f998d59405e2e9f.tar.gz scripts-defcbca74eed4a5541cf9fc18f998d59405e2e9f.tar.bz2 |
Feat: adds repl script
-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 "$COMMAND" ]; then + echo "usage: $BASENAME <command> [base-args]" + exit 1 +fi + +# Dispatch +_repl $* |