#!/bin/bash preCmds=('hostname') cmds=() postCmds=('sync') . #ETCDIR#/update-me.conf if [ ! "$(whoami)" == "root" ] then if ! "${hasSudo}" then hostname err=1 maxCount=3 while [ ${err} -eq 1 ] && [ ${maxCount} -gt 0 ] do su -c "$(readlink -f "$0") || exit 2" err=$? maxCount=$[${maxCount} - 1] done exit ${err} fi pre='sudo' else pre='' fi if [ ${#cmds[@]} -eq 0 ] then if [ -d '#ETCDIR#/pacman.d' ] then cmds=('pacman -Syu' 'pacdiff') elif [ -d '#ETCDIR#/ports' ] then cmds=('ports -u' 'prt-get sysup' 'rejmerge' 'revdep') elif [ -d '#ETCDIR#/apt' ] then cmds=('aptitude update' 'aptitude safe-upgrade' 'aptitude dist-upgrade') else >&2 echo 'Unknown distribution!' exit 1 fi fi for cmd in "${preCmds[@]}" do ${cmd} err=$? if [ ${err} -ne 0 ] then >&2 echo 'Fehler' read s exit ${err} fi done for cmd in "${cmds[@]}" do ${pre} ${cmd} err=$? if [ ${err} -ne 0 ] then >&2 echo 'Fehler' read s exit ${err} fi done for cmd in "${postCmds[@]}" do ${cmd} err=$? if [ ${err} -ne 0 ] then >&2 echo 'Fehler' read s exit ${err} fi done >&2 echo 'Erfolg' read s exit 0