Bug#931719: 40-systemd: line 11: 1: unbound variable when sourcing /lib/lsb/init-functions with $1 unset

Mert Dirik mertdirik at gmail.com
Thu Jul 11 16:41:01 BST 2019


On 7/11/19, Thomas Bätzler <thomas at baetzler.de> wrote:
>
> To wit:
>
>   root at kvm1:~# /etc/init.d/rsync
>   Usage: /etc/init.d/rsync {start|stop|reload|force-reload|restart|status}
>
> vs.
>
>   root at 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"
     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
         executable="$1"
         argument="$2"
     else # plain old scripts
         executable="$0"
-        argument="$1"
+        argument="${1:-}"
     fi



More information about the Pkg-systemd-maintainers mailing list