X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=b0a6d9ba03d120382fec554d4d4ae57e205f8921;hp=d90e051a330324cffc705179d3b81593dd327d75;hb=412e05688d8d870932c8c00eb8f414e9d159dbdf;hpb=0726d09de9efa8d249360d5197802957354d3149 diff --git a/autoconfig.functions b/autoconfig.functions index d90e051..b0a6d9b 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -47,10 +47,14 @@ fi # Get a bootoption's parameter: read boot command line and either # echo last parameter's argument or return false. getbootparam(){ - case "$CMDLINE" in - *$1=*) - result="${CMDLINE##* $1=}" - result="${result%%[ ]*}" + local line + local ws + ws=' ' + line=" $CMDLINE " + case "$line" in + *[${ws}]"$1="*) + result="${line##*[$ws]$1=}" + result="${result%%[$ws]*}" echo "$result" return 0 ;; *) # no match? @@ -60,7 +64,7 @@ getbootparam(){ # Check boot commandline for specified option checkbootparam(){ - [ -n "$1" ] || { echo "Error: missing argument to checkbootparam()" ; return 1 } + [ -n "$1" ] || ( echo "Error: missing argument to checkbootparam()" ; return 1 ) # make sure we match beginning and end of line as well # but don't match 'vg' if we want to check for 'vga' if echo "$CMDLINE" | grep -qw "$1" ; then @@ -1850,7 +1854,7 @@ create_mnt_dirs(){ config_x_startup(){ # make sure we start X only if startx is used *before* a nostartx option # so it's possible to disable automatic X startup using nostart -if checkbootparam 'startx' && ! grep -q 'startx.*nostartx' "$CMDLINE" ; then +if checkbootparam 'startx' && ! echo "$CMDLINE" | grep -q 'startx.*nostartx' ; then if [ -x /usr/X11R6/bin/X ] ; then if [ -z "$INSTALLED" ] ; then WINDOWMANAGER="$(getbootparam 'startx' 2>>$DEBUG)"