Question

I'm trying to loop over all environment variables in a shell script, and create an HTML query string from ones which match a pattern. Unfortunately, I can't seem to assign to variables in the loop. I've got this:

#!/bin/sh
IFS=$'\n'
TAGS=""
for item in $(printenv)
do
   if [[ $item == FOO_TAG_* ]]
   then
       TAGS = "${TAGS}&${item}"
   fi
done

But this gives me

/etc/script.sh: line 9: TAGS: command not found
/etc/script.sh: line 9: TAGS: command not found

How do I fix this?

Was it helpful?

Solution

In the assignment, remove space between variable name and =

TAGS="${TAGS}${item}"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top