From 1955bef1298d5e68ca53dbe4d612206d8ce21b96 Mon Sep 17 00:00:00 2001 From: Chad Redman Date: Tue, 10 Aug 2021 16:16:36 -0400 Subject: [PATCH] GRP-3562: Container stop/start corrupts ENV variables containing dollar sign ($) --- container_files/usr-local-bin/librarySetupFiles.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/container_files/usr-local-bin/librarySetupFiles.sh b/container_files/usr-local-bin/librarySetupFiles.sh index 69deb44d..8f6bb70f 100644 --- a/container_files/usr-local-bin/librarySetupFiles.sh +++ b/container_files/usr-local-bin/librarySetupFiles.sh @@ -84,16 +84,16 @@ setupFiles_storeEnvVars() { echo "#!/bin/sh" > /opt/grouper/grouperEnv.sh echo "" >> /opt/grouper/grouperEnv.sh - # go through env vars, should start with GROUPER and have an equals sign in there - env | grep "^GROUPER" | grep "=" | sort >> /opt/grouper/grouperEnv.sh - + # go through env vars, should start with GROUPER*; this handles quoting but not multiline + export -p | grep "^declare -x GROUPER" | sort >> /opt/grouper/grouperEnv.sh returnCode=$? - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) env | grep \"^GROUPER\" | grep \"=\" | sort >> /opt/grouper/grouperEnv.sh, result: $returnCode" + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) export -p | grep \"^declare -x GROUPER\" | sort >> /opt/grouper/grouperEnv.sh, result: $returnCode" if [ $returnCode != 0 ]; then exit $returnCode; fi - sed -i "s|^GROUPER|export GROUPER|g" /opt/grouper/grouperEnv.sh + # declare -x exports to the current and child processes, but not globally to the procid=1 process; `export` works, as well as `declare -x -g` + sed -i "s|^declare -x |export |" /opt/grouper/grouperEnv.sh returnCode=$? - echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) sed -i \"s|^GROUPER|export GROUPER|g\" /opt/grouper/grouperEnv.sh , result: $returnCode" + echo "grouperContainer; INFO: (librarySetupFiles.sh-setupFiles_storeEnvVars) sed -i \"s|^declare -x |export |\" /opt/grouper/grouperEnv.sh, result: $returnCode" if [ $returnCode != 0 ]; then exit $returnCode; fi if [ ! -f /home/tomcat/.bashrc ]