#! /bin/sh # # magic NAME create FILE < CONTENT # magic NAME update FILE < CONTENT # magic NAME destroy FILE # bs="# begin krebs magic <$1>" es="# end krebs magic <$1>" has() { grep -q "^$bs$" $3 && grep -q "^$es$" $3 } create() { destroy "$@" cache="`cat $3`" { echo "$cache" echo "$bs" cat echo "$es" } >$3 } #retrieve() { #} update() { ! has "$@" || create "$@" } destroy() { if has "$@"; then cache="`cat $3`" echo "$cache" | sed "/^$bs$/,/^$es$/d" >$3 fi } case $2 in (create) create "$@" ;; (update) update "$@" ;; (destroy) destroy "$@" ;; (*) echo 'Error 1: You are made of stupid!' >&2 exit 23 esac