Pregunta

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?

¿Fue útil?

Solución

In the assignment, remove space between variable name and =

TAGS="${TAGS}${item}"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top