X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=8097a2d38b1751b97f3a6eb4c7c865360eb66230;hp=b8579b78e1f794c4d05f735853b9d83867cf05bb;hb=2bda95eb2273c0e98f860512b2e2f65cd1093326;hpb=07ee839b3a77461c10b8313b5a8371de00748af4 diff --git a/autoconfig.functions b/autoconfig.functions index b8579b7..8097a2d 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? @@ -61,13 +65,16 @@ getbootparam(){ # Check boot commandline for specified option checkbootparam(){ [ -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 - return 0 - else - return 1 - fi + local line + local ws + ws=' ' + line=" $CMDLINE " + case "$line" in + *[${ws}]"$1"=*|*[${ws}]"$1"[${ws}]*) + return 0 ;; + *) + return 1 ;; + esac } # Check wheter a configuration variable (like $CONFIG_TOHD) is @@ -1850,7 +1857,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)" @@ -1951,6 +1958,8 @@ else fi DCSDIR="/mnt/grml" fi + else + DCSDIR="/live/image" fi fi fi