-bash: export: `=’: geen geldige identificatie

Elke keer als ik mijn terminal open krijg ik de onderstaande foutmelding:

Last login: Sun Aug  4 17:23:05 on ttys000
-bash: export: `=': not a valid identifier
-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin': not a valid identifier
-bash: export: `=': not a valid identifier
-bash: export: `/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/mysql/bin': not a valid identifier

En hier is mijn exportuitvoer:

Calvin:~ sunkehappy$ export
declare -x Apple_PubSub_Socket_Render="/tmp/launch-4lEZNa/Render"
declare -x Apple_Ubiquity_Message="/tmp/launch-ukGAv5/Apple_Ubiquity_Message"
declare -x COMMAND_MODE="unix2003"
declare -x HOME="/Users/sunkehappy"
declare -x LANG="zh_CN.UTF-8"
declare -x LOGNAME="sunkehappy"
declare -x OLDPWD
declare -x PATH="/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin"
declare -x PWD="/Users/sunkehappy"
declare -x SECURITYSESSIONID="186a4"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SSH_AUTH_SOCK="/tmp/launch-YAEryC/Listeners"
declare -x TERM="xterm-256color"
declare -x TERM_PROGRAM="Apple_Terminal"
declare -x TERM_PROGRAM_VERSION="309"
declare -x TERM_SESSION_ID="B134A404-D87F-4BB9-8A08-55F8CE923339"
declare -x TMPDIR="/var/folders/kt/pfw99tps22gg2019vz8k1zcm0000gn/T/"
declare -x USER="sunkehappy"
declare -x __CF_USER_TEXT_ENCODING="0x1F5:25:52"

Antwoord 1, autoriteit 100%

Je kunt geen spaties rond het teken =plaatsen als je het volgende doet:

export foo=bar

Verwijder de ruimtes die je hebt en je moet goed om te gaan.

Als u typt:

export foo = bar

de shell interpreteert dat als een verzoek om drie namen te exporteren: foo, =en bar. =is geen geldige variabele naam, zodat de opdracht mislukt. De naam variabele gelijk-teken en de waarde mag niet worden gescheiden door spaties voor hen als een gelijktijdige toewijzing en export te verwerken.


Antwoord 2, Autoriteit 3%

Ik geconfronteerd met de zelfde fout en deed wat onderzoek om alleen te zien dat er sprake zou kunnen zijn verschillende scenario’s om deze fout. Laat me mijn bevindingen.

Scenario 1: Er kan geen spaties naast het =(equals) teken

$ 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: Objectwaarde opdracht mag geen spaties bevatten naast citaten

$ 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: Lijst waardetoewijzing mogen geen spaties tussen de waarden

$ export TEMP_ENV=[1,2 ,3 ]
-bash: export: `,3': not a valid identifier
-bash: export: `]': not a valid identifier

Ik deel deze, omdat ik een paar uur vastzit om een ​​oplossing te vinden. Hopelijk zal het iemand in nood helpen.


Antwoord 3

Allereerst Ga naar de / Home Directorty en open vervolgens het onzichtbare shell-script met een teksteditor, ~/.bash_profile (macOS) or ~/.bashrc (linux)Ga naar de bodem, zou zoiets zien,

LD_LIBRARY_PATH = / USR / LOCAL / LIB

Wijzig dit zo (verwijder het lege punt rond de =),

LD_LIBRARY_PATH = / USR / LOCAL / LIB

het moet nuttig zijn.


Antwoord 4

Ik had hetzelfde probleem en kwam het uit je opmerkingen, maar dacht dat ik de reden zou toevoegen die ik heb veroorzaakt dat de fout opkwam (voor andere beginners).

Ik had geopend en bewerkt .Bash_Profile met behulp van de open-opdracht in terminal, die het in teksteditor opende. Ik typte een aanvulling op .bash_profile en het gebruikte onjuiste quote tekens. Ik geopend .Bash_Profile in Atom en heeft de fout opgelost. Ik heb het bestand ook geassocieerd met ATOM voor toekomstige bewerking.


Antwoord 5

Probeer het pad met citaten te omringen en verwijder de spaties

export PYTHONPATH="/home/user/my_project":$PYTHONPATH

En vergeet niet de eerdere inhoud te behouden door : $ PythonPath (dat is de waarde van de variabele)

Voer de volgende opdracht uit om te controleren alles is correct geconfigureerd:

echo $PYTHONPATH

Other episodes