Am 26.11.2012 03:38, schrieb Dave Young: > > > For cmdline argument with numeric value, add a new function getargnum > It will get proper value with default value as $1, max value as $2. > valid result will be echo to stdout, for nul or value not valid it will just > echo the default value. > > Signed-off-by: Dave Young <dyoung@xxxxxxxxxx> > --- > modules.d/99base/dracut-lib.sh | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > --- dracut.orig/modules.d/99base/dracut-lib.sh > +++ dracut/modules.d/99base/dracut-lib.sh > @@ -167,6 +167,25 @@ getargbool() { > return 0 > } > > +# getargnum <defaultval> <maxval> <args...> > +# Will echo the arg if it's in range [0 - maxval]. > +# If it's not set or it's not valid, will set it <defaultval>. > +getargnum() { > + local _b > + unset _b > + local _default > + local _max > + _default=$1; shift > + _max=$1; shift > + _b=$(getarg "$@") > + [ $? -ne 0 -a -z "$_b" ] && _b=$_default > + if [ -n "$_b" ]; then > + [[ "$_b" =~ ^[0-9]+$ ]] && _b=$(($_b)) && \ we can't use "=~" because it's not posix shell. We restricted ourselves to dash syntax in the initramfs. sorry. > + [[ $_b -ge 0 && $_b -le $_max ]] && echo $_b && return > + fi > + echo $_default > +} > + > _dogetargs() { > debug_off > local _o _found _key > -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html