-bash: Export: `=': Not A Valid Identifier
Answer :
You cannot put spaces around the =
sign when you do:
export foo=bar
Remove the spaces you have and you should be good to go.
If you type:
export foo = bar
the shell will interpret that as a request to export three names: foo
, =
and bar
. =
isn't a valid variable name, so the command fails. The variable name, equals sign and it's value must not be separated by spaces for them to be processed as a simultaneous assignment and export.
I faced the same error and did some research to only see that there could be different scenarios to this error. Let me share my findings.
Scenario 1: There cannot be spaces beside the =
(equals) sign
$ export TEMP_ENV = example-value -bash: export: `=': not a valid identifier // this is the answer to the question $ export TEMP_ENV =example-value -bash: export: `=example-value': not a valid identifier $ export TEMP_ENV= example-value -bash: export: `example-value': not a valid identifier
Scenario 2: Object value assignment should not have spaces besides quotes
$ export TEMP_ENV={ "key" : "json example" } -bash: export: `:': not a valid identifier -bash: export: `json example': not a valid identifier -bash: export: `}': not a valid identifier
Scenario 3: List value assignment should not have spaces between values
$ export TEMP_ENV=[1,2 ,3 ] -bash: export: `,3': not a valid identifier -bash: export: `]': not a valid identifier
I'm sharing these, because I was stuck for a couple of hours trying to figure out a workaround. Hopefully, it will help someone in need.
Comments
Post a Comment