aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sh/rc-functions.sh.in34
1 files changed, 34 insertions, 0 deletions
diff --git a/sh/rc-functions.sh.in b/sh/rc-functions.sh.in
index 12eb4e2a..7b771f82 100644
--- a/sh/rc-functions.sh.in
+++ b/sh/rc-functions.sh.in
@@ -85,6 +85,40 @@ get_bootparam()
return 1
}
+get_bootparam_value()
+{
+ local match="$1" which_value="$2" sep="$3" result value
+ if [ -n "$match" -a -r /proc/cmdline ]; then
+ set -- $(cat /proc/cmdline)
+ while [ -n "$1" ]; do
+ case "$1" in
+ $match=*)
+ value="${1##*=}"
+ case "$which_value" in
+ all)
+ [ -z "$sep" ] && sep=' '
+ if [ -z "$result" ]; then
+ result="$value"
+ else
+ result="${result}${sep}${value}"
+ fi
+ ;;
+ last)
+ result="$value"
+ ;;
+ *)
+ result="$value"
+ break
+ ;;
+ esac
+ ;;
+ esac
+ shift
+ done
+ fi
+ echo $result
+}
+
# Called from openrc-run.sh or gendepends.sh
_get_containers() {
local c