From 938617421d1789b9dc8482ac397f49d2f0e9f255 Mon Sep 17 00:00:00 2001 From: "martin@piware.de" <> Date: Sat, 4 Apr 2009 07:47:59 -0700 Subject: [PATCH] add shellpresent --- shellpresent | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 shellpresent diff --git a/shellpresent b/shellpresent new file mode 100755 index 0000000..8747d88 --- /dev/null +++ b/shellpresent @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Present a list of shell commands by single-stepping and echoing commands. +# Note that this only works well for self-contained single lines, no multi-line +# loops etc. +# +# (c) 2009 Martin Pitt +# License: Public Domain + +[ -e "$1" ] || { + echo "Usage: $0 " >&2 + exit 1 +} + +clear + +while read line; do + # paragraph clears screen + if [ -z "$line" ]; then + clear + continue + fi + + # comment + if [ "${line:0:1}" = "#" ]; then + if [ -n "${line:1}" ]; then + echo -e "\e[32m$line\e[30m" + fi + continue + fi + + # execute command + echo -en "\e[31m\$\e[30m $line" + read < /dev/tty + eval "$line" + read < /dev/tty +done < "$1" -- 2.39.2