From 1998027d7cbb9d8f3986964bbdae070296bdce56 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Sun, 24 Sep 2023 11:52:19 -0600 Subject: [PATCH] base-files: functions.sh: Add prepend() homologue to append() Sometimes it's useful to be able to prepend to a variable as well, such as when dealing with domain names, e.g. prepend fdqn "$subdomain" "." will result in: fqdn="$subdomain.$fqdn" Signed-off-by: Philip Prindeville --- package/base-files/files/lib/functions.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index bbdecbbc47..d9628dbb7a 100644 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -40,6 +40,14 @@ append() { eval "export ${NO_EXPORT:+-n} -- \"$var=\${$var:+\${$var}\${value:+\$sep}}\$value\"" } +prepend() { + local var="$1" + local value="$2" + local sep="${3:- }" + + eval "export ${NO_EXPORT:+-n} -- \"$var=\${$value:+\${$value}\$sep}\$var\"" +} + list_contains() { local var="$1" local str="$2"