X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fgrml%2Fscript-functions;h=b941a7fa94a922c0c7245d694cffa01bcabced9b;hb=4bbd12cabf9c09c9070b1d5f3eca4b11b70b7bba;hp=58e33dbc43f2c89a231b87915011c2aab6b074e9;hpb=4bfb41b45facbda837c14aeac6ead19b112ee1d9;p=grml-etc-core.git diff --git a/etc/grml/script-functions b/etc/grml/script-functions index 58e33db..b941a7f 100644 --- a/etc/grml/script-functions +++ b/etc/grml/script-functions @@ -3,7 +3,6 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Mit Okt 24 09:34:48 CEST 2007 [mika] ################################################################################ # {{{ set default PATH @@ -49,15 +48,25 @@ setdialog(){ # }}} # {{{ check for availability of program(s) -check4progs(){ - local RC='' - for arg in $* ; do - type -p $arg >/dev/null 2>&1 || RC="$arg" - done - if [ -n "$RC" ] ; then - echo "$RC not installed" - return 1 - fi +check4progs() { + local RTN=0 + local ARG='' + while [ ${#} -gt 0 ] + do + ARG="${1}" + shift + + # check for availability + if ! \which "${ARG}" >/dev/null 2>&1 + then + printf "%s: binary not found\n" "${ARG}" >&2 + RTN=1 + fi + + done + + # return non zero, if at least one prog is missing! + return ${RTN} } # }}} @@ -77,8 +86,9 @@ stringinstring(){ # {{{ reread boot command line; echo last parameter's argument or return false. getbootparam(){ - stringinstring " $1=" /proc/cmdline || return 1 - result="${/proc/cmdline##*$1=}" + CMDLINE=$(cat /proc/cmdline) + stringinstring " $1=" "$CMDLINE" || return 1 + result="${CMDLINE##*$1=}" result="${result%%[ ]*}" echo "$result" return 0 @@ -87,7 +97,7 @@ getbootparam(){ # {{{ check boot commandline for specified option checkbootparam(){ - stringinstring " $1" /proc/cmdline + stringinfile " $1" /proc/cmdline return "$?" } # }}} @@ -184,4 +194,4 @@ is_older_than() { #}}} ## END OF FILE ################################################################# -# vim:foldmethod=marker tw=80 ai expandtab shiftwidth=2 tabstop=2 +# vim:foldmethod=marker tw=80 ai expandtab shiftwidth=2 tabstop=8