I've seen a lot of strange quirks in CentOS 6.5's init.d scripts, but one pattern I've seen at the end of most of these scripts is
case "$1" in
# ... commands here
esac
exit $?
What is the purpose of "exit $?
" here?
It makes the script return the return code of the last significant command to the calling init system. Whenever a command exits, its return code is stored on $?
by the shell.
It's actually not really necessary to explicitly specify $?
but scripters probably just include it to be clear about what it intends to do.
exit: exit [n]
Exit the shell.
Exits the shell with a status of N. If N is omitted, the exit status is that of the last command executed.
I also hope you don't actually mean eend $?
of OpenRC
:
eend retval [string ]
If retval does not equal 0 then output the string using eerror and !! in square > brackets at the end of the line. Otherwise output ok in square brackets at the end of the line. The value of retval is returned.
See source.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With