1#!/bin/bash 2 3# Set up command recording wrapper 4 5[ -z "$WRAPDIR" ] && WRAPDIR="$PWD"/record-commands && RM=$(which rm) 6[ -z "$WRAPLOG" ] && export WRAPLOG="$PWD"/log.txt 7 8if [ $# -eq 0 ] 9then 10 echo "usage: WRAPDIR=dir WRAPLOG=log.txt record-commands COMMAND..." 11 echo 'Then examine log.txt. "record-commands echo" to just setup $WRAPDIR' 12 exit 1 13fi 14 15if [ ! -x "$WRAPDIR/logwrapper" ] 16then 17 make logwrapper 18 mkdir -p "$WRAPDIR" && mv logwrapper "$WRAPDIR" || exit 1 19 20 echo "$PATH" | tr : '\n' | while read DIR 21 do 22 ls "$DIR/" | while read FILE 23 do 24 ln -s logwrapper "$WRAPDIR/$FILE" 2>/dev/null 25 done 26 done 27fi 28 29# Delete old log (if any) 30rm -f "$WRAPLOG" 31 32X=0 33if [ ! -z "$1" ] 34then 35 PATH="$WRAPDIR:$PATH" "$@" 36fi 37X=$? 38[ ! -z "$RM" ] && "$RM" -rf "$WRAPDIR" 39 40exit $X 41