Am 11.07.19 um 17:41 schrieb Mert Dirik: > On 7/11/19, Thomas Bätzler <tho...@baetzler.de> wrote: >> >> To wit: >> >> root@kvm1:~# /etc/init.d/rsync >> Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status} >> >> vs. >> >> root@kvm1:~# /etc/init.d/mysql >> /lib/lsb/init-functions.d/40-systemd: line 11: 1: unbound variable >> >> > > Thanks, I've been able to confirm that. > >> In this case, line 16 has to be changed to 'argument="${1:-}', too (last >> line of your patch), since the call without argument falls through to >> the else branch, i.e. > > Indeed. "argument=$1" line had need to be changed, not the > "argument=$2" one. Can you try this patch: > > executable="$__init_d_script_name" > argument="$1"
Is $1 guaranteed to be set/not an issue with __init_d_script_name? > elif [ "${0##*/}" = "init-d-script" ] || > - [ "${0##*/}" = "${1##*/}" ]; then # scripts run with old > init-d-script > + [ "${0}" = "${1:-}" ]; then # scripts run with old init-d-script Why do we need ${1:-1} here... > executable="$1" > argument="$2" ..but no checks here? > else # plain old scripts > executable="$0" > - argument="$1" > + argument="${1:-}" This part makes sense to me > fi fwiw, trying to use -u with old style init-d-script and new style __init_d_script_name yields a lot of unset errors in /lib/init/vars.sh and /lib/init/init-d-script. I guess this needs someone interested to address this. For now, I'll probably just apply this hunk: > else # plain old scripts > executable="$0" > - argument="$1" > + argument="${1:-}" Regards, Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth?
signature.asc
Description: OpenPGP digital signature