Trotzdem kommt mir als bescheidender Bash-Scripter der Code eigenartig vor:
if [ -f ${CONFSRC} ] ; then
db_get pnm2ppa/printer_model
TEMPFILE=`tempfile`
# Replace everything following "version " w/model
sed -e "s,^\(version \).*$,\1 ${RET}," ${CONFSRC} > \
${TEMPFILE}
install -m644 ${TEMPFILE} ${CONFFILE}
rm ${TEMPFILE}
fi
Es soll mit TEMPFILE=`tempfile` auf eine eine temporäre Datei verwiesen werden (wo?), für diese Zwecke gibt es aber mktemp:
if [ -f ${CONFSRC} ] ; then
db_get pnm2ppa/printer_model
TEMPFILE=$(mktemp)
# Replace everything following "version " w/model
sed -e "s,^\(version \).*$,\1 ${RET}," ${CONFSRC} > \
${TEMPFILE}
install -m644 ${TEMPFILE} ${CONFFILE}
rm ${TEMPFILE}
fi
Ich kann mich natürlich auch irren, ein Bug ist es trotzdem…