| Server IP : 173.249.148.11 / Your IP : 216.73.216.179 Web Server : Apache/2.4.68 (AlmaLinux) System : Linux developmentwebsite.ca 4.18.0-553.168.1.el8_10.x86_64 #1 SMP Thu Sep 24 18:05:46 UTC 2026 x86_64 User : devinter ( 1006) PHP Version : 8.3.35 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /snap/core24/1643/usr/libexec/core/ |
Upload File : |
#!/bin/sh
# Usage:
# get-arg param-name
#
# get-arg will look for kernel parameter "param-name" or "param_name"
# and return 0 if found, 1 if not found. If the parameter as a value,
# e.g. "param-name=the-value", then the value "the-value" will be
# printed.
# For more information on how to parse kernel parameters, see function
# `next_arg` in
# https://github.com/torvalds/linux/blob/master/lib/cmdline.c
set -eu
if [ "$#" -ne 1 ]; then
echo "Expected kernel parameter name as argument" 1>&2
exit 1
fi
looking_for="$(echo "${1}" | sed 's/_/-/g')"
if [ "${SYSTEMD_PROC_CMDLINE:+set}" = set ]; then
# Using same debug variable as systemd for testing
cmdline="${SYSTEMD_PROC_CMDLINE}"
else
cmdline=$(cat /proc/cmdline)
fi
set --
# We cannot use ANSI-C quoting (e.g. $'\n') in busybox-initramfs
whitespaces="$(printf '\t\n\v\f\r \240')"
in_quote=no
param=
current="${cmdline}"
while [ -n "${current}" ]; do
# We cannot use subtring parameter expansion
# (e.g. ${cmdline:$i:1}) in busybox-initramfs
suffix="${current#?}"
char="${current%${suffix}}"
current="${suffix}"
case "${char}" in
["${whitespaces}"])
if [ "${in_quote}" = no ]; then
if [ -n "${param}" ]; then
set -- "$@" "${param}"
fi
param=
else
param="${param}${char}"
fi
;;
'"')
if [ "${in_quote}" = yes ]; then
in_quote=no
else
in_quote=yes
fi
;;
*)
param="${param}${char}"
;;
esac
done
if [ -n "${param}" ]; then
set -- "$@" "${param}"
fi
for param in "$@"; do
name="$(echo "${param%%=*}" | sed 's/_/-/g')"
if [ "${name}" = "${looking_for}" ]; then
case "${param}" in
*=*)
echo "${param#*=}"
;;
esac
exit 0
fi
done
exit 1