MDEV-19211 Fix mysqld_safe --dry-run

mysqld_safe --dry-run needs to either call exit or return, depending if
it is being sourced or not, otherise return can lead to the error:

return: can only `return' from a function or sourced script

The original fix suggestion was proposed by FaramosCZ <mschorm@centrum.cz>
This commit is contained in:
Vicențiu Ciorbaru 2019-09-21 01:04:07 +03:00
parent 13c2fd36c1
commit 6a7d51b1cb

View file

@ -970,7 +970,13 @@ do
cmd="$cmd "`shell_quote_string "$i"`
done
cmd="$cmd $args"
[ $dry_run -eq 1 ] && return
if [ $dry_run -eq 1 ]
then
# RETURN or EXIT depending if the script is being sourced or not.
(return 2> /dev/null) && return || exit
fi
# Avoid 'nohup: ignoring input' warning
test -n "$NOHUP_NICENESS" && cmd="$cmd < /dev/null"