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?

Était-ce utile?

La solution

In the assignment, remove space between variable name and =

TAGS="${TAGS}${item}"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top