#! /bin/sh
# overwrite: file durch Ausgabe eines Kommandos ersetzen

opath=$PATH
PATH=/bin:/usr/bin:$PATH

case $# in
0|1)	echo 'Usage: overwrite file cmd [args]' 1>&2 ; exit 2
esac

file="$1" ; shift
new=/tmp/overwr1.$$
old=/tmp/overwr2.$$
trap 'rm -f $new $old ; exit 1' 1 2 15   # Dateien aufraemen

if PATH=$opath "$@" > $new
then
	cp $file $old
	trap '' 1 2 15
	cp $new $file
else
	echo "overwrite: $1 failed, $file unchanged" 1>&2 ; exit 1
fi

rm -f $new $old
exit
