Книга: UNIX — универсальная среда программирования

3.8.36 overwrite2

3.8.36 overwrite2
# overwrite: copy standard input to output after EOF
# version 2. BUG here too
PATH=/bin:/usr/bin
case $# in
1) ;;
*) echo 'Usage: overwrite file' 1>&2; exit 2
esac
new=/tmp/overwr1.$$
old=/tmp/overwr2.$$
trap 'rm -f $new $old; exit 1' 1 2 15
cat >$new # collect the input
cp $1 $old # save original file
trap '' 1 2 15 # we are committed; ignore signals
cp $new $1 # overwrite the input file
rm -f $new $old

Оглавление книги


Генерация: 0.676. Запросов К БД/Cache: 2 / 0
поделиться
Вверх Вниз