summaryrefslogtreecommitdiff
path: root/scripts/functions
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/functions')
-rw-r--r--scripts/functions18
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/functions b/scripts/functions
index c284881..0250f05 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -137,6 +137,24 @@ CT_DoEnd()
CT_DoLog ${level:-INFO} "(elapsed: ${elapsed_min}:${elapsed_sec}.${elapsed_csec})"
}
+# Remove entries referring to ., /tmp and non-existing directories from $PATH
+# Usage: CT_SanitizePath
+CT_SanitizePath() {
+ local new
+ local tmp
+ local IFS=:
+ for p in $PATH; do
+ # Replace any occurence of . with $(pwd -P)
+ # Use /tmp as a default if the directory is non-existent
+ # Do not add /tmp in the PATH
+ tmp="$( cd /tmp; cd "${p}" 2>/dev/null || true; pwd -P )"
+ if [ "${tmp}" != "/tmp" ]; then
+ new="${new}${new:+:}${p}"
+ fi
+ done
+ PATH="${new}"
+}
+
# Abort the execution with an error message
# Usage: CT_Abort <message>
CT_Abort() {