41 lines
787 B
Bash
Executable File
41 lines
787 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Set up command recording wrapper
|
|
|
|
[ -z "$WRAPDIR" ] && WRAPDIR="$PWD"/record-commands && RM=$(which rm)
|
|
[ -z "$WRAPLOG" ] && export WRAPLOG="$PWD"/log.txt
|
|
|
|
if [ $# -eq 0 ]
|
|
then
|
|
echo "usage: WRAPDIR=dir WRAPLOG=log.txt record-commands COMMAND..."
|
|
echo 'Then examine log.txt. "record-commands echo" to just setup $WRAPDIR'
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -x "$WRAPDIR/logwrapper" ]
|
|
then
|
|
make logwrapper
|
|
mkdir -p "$WRAPDIR" && mv logwrapper "$WRAPDIR" || exit 1
|
|
|
|
echo "$PATH" | tr : '\n' | while read DIR
|
|
do
|
|
ls "$DIR/" | while read FILE
|
|
do
|
|
ln -s logwrapper "$WRAPDIR/$FILE" 2>/dev/null
|
|
done
|
|
done
|
|
fi
|
|
|
|
# Delete old log (if any)
|
|
rm -f "$WRAPLOG"
|
|
|
|
X=0
|
|
if [ ! -z "$1" ]
|
|
then
|
|
PATH="$WRAPDIR:$PATH" "$@"
|
|
fi
|
|
X=$?
|
|
[ ! -z "$RM" ] && "$RM" -rf "$WRAPDIR"
|
|
|
|
exit $X
|