]> gitweb.fluxo.info Git - scripts.git/commitdiff
Feat: adds repl script
authorSilvio Rhatto <rhatto@riseup.net>
Sat, 10 Aug 2024 16:06:15 +0000 (13:06 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Sat, 10 Aug 2024 16:06:15 +0000 (13:06 -0300)
repl [new file with mode: 0755]

diff --git a/repl b/repl
new file mode 100755 (executable)
index 0000000..f205b36
--- /dev/null
+++ b/repl
@@ -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 $*