Po raz kolejny wystukałem jakiś skrypt w wolnej chwili i postanowiłem się podzielić. Tym razem będzie to ładny i czytelny rc.local dla dystrybucji posiadających init Debiana. Gdy ktoś tam wrzuci więcej niż kilka poleceń to robi się nie tyle co bałagan, a raczej rewolucja, nieczytelne, brzydkie i co tam jeszcze może przyjść na myśl. Postanowiłem wyjść temu na przeciw i w pare chwilek napisałem sobie coś takiego:
#!/bin/sh -e
#
# rc.local
#
err_stat() {
typeset -i stat="$1"
echo -e "\033[0;41;37;1m \`--> Failed (#$stat).\033[0m"
unset stat
}
rc_exec() {
echo -e "\033[0;32;1m \`--> \033[0;1mStarting:\033[0m $1"
if [ -z "$2" ]; then
$1 || err_stat $?
else
$2 || err_stat $?
fi
}
echo -e "\033[0;32;1m::\033[0;1m Starting local script..\033[0m"
#--------Configuration Start Here--------#
rc_exec "Tytuł, to wywoła się z błędem" "polecenie-hshfsfshkfhsd"
rc_exec "echo polecenie, a to juz nie"
#---------Configuration End Here---------#
unset err_stat rc_exec; exit 0