fff-layer3-config: return error values in functions instead of terminating #260
|
@ -7,6 +7,7 @@
|
|||
execute_subshell() {
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage:" "$0" "<function>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
for script in /etc/layer3.d/*; do
|
||||
|
@ -23,7 +24,7 @@ execute_subshell() {
|
|||
if [ $? -ne 0 ]; then
|
||||
echo
|
||||
echo "Error when executing" "$1" "from" "$(basename "$script")"
|
||||
exit 1
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@ -32,29 +33,33 @@ configure() {
|
|||
echo "This script might remove existing vlans, interfaces, addresses, etc."
|
||||
read -r -p "Do you really want to continue? (y/n) " response
|
||||
if ! ( [ "$response" == "y" ] || [ "$response" == "Y" ] ); then
|
||||
exit 1
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo
|
||||
execute_subshell configure
|
||||
execute_subshell configure || return $?
|
||||
|
||||
exit 0
|
||||
return 0
|
||||
|
||||
}
|
||||
|
||||
reload_services() {
|
||||
execute_subshell reload
|
||||
reload_config
|
||||
|
||||
return 0
|
||||
jkimmel
commented
Brauchsts das? Brauchsts das?
fbl
commented
Ja, sonst gibts als Rückgabewert den Exitstatus von reload_config. Ja, sonst gibts als Rückgabewert den Exitstatus von reload_config.
|
||||
}
|
||||
|
||||
apply_changes() {
|
||||
execute_subshell apply
|
||||
reload_services
|
||||
exit 0
|
||||
|
||||
return 0
|
||||
jkimmel
commented
Und das? Und das?
fbl
commented
Da reload_services sowieso immer 0 als return value hat.. Könnte man weglassen (da der Rückgabewert sowieso nirgends geprüft wird sowieso), aber ich finde es aus dem gleichen Grund wie weiter oben schöner, wenn man es explizit stehen lässt. Da reload_services sowieso immer 0 als return value hat.. Könnte man weglassen (da der Rückgabewert sowieso nirgends geprüft wird sowieso), aber ich finde es aus dem gleichen Grund wie weiter oben schöner, wenn man es explizit stehen lässt.
|
||||
}
|
||||
|
||||
revert_changes() {
|
||||
execute_subshell revert
|
||||
exit 0
|
||||
|
||||
return 0
|
||||
jkimmel
commented
Und hier? Und hier?
|
||||
}
|
||||
|
||||
keep_changes() {
|
||||
|
|
Loading…
Reference in New Issue
Ich glaub es reicht einfach
execute_subshell configure
alleine da stehen zu lassen. Die beidenreturn
s können weg. Die Funktion nimmt den Wert des letzten Befehls an.Das ist richtig, ich habe mich aber bewusst für diese etwas explizitere Form entschieden, weil ich das nicht offensichtlich finde. Dann müsste man es kommentieren, und dann kann ichs auch gleich ausschreiben.
Wenn noch mal jemand Code dazwischen fügt, dann bekommt der Code nicht versehentlich return values, die er eigentlich nicht haben soll.