# 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?
# 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
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)"