cyber-patriot/rewind.sh

25 lines
384 B
Bash
Raw Permalink Normal View History

2022-11-03 22:09:35 -04:00
#!/bin/bash
HISTFILE="$1"; shift 1
if [[ "$1" == "-f" ]]; then
# lazy getopt
TARGETFUNC="$2"
shift 2
else
TARGETFUNC=
fi
HEADLINES="${1:-1}"
FCLINES=$((HEADLINES + 1))
COMMANDS="$(fc -ln "-${FCLINES}" | head "-${HEADLINES}")"
# echo "$COMMANDS"
if [[ -z "$TARGETFUNC" ]]; then
eval "$COMMANDS"
else
eval "function $TARGETFUNC {
$COMMANDS
}"
fi