Wanneer ik export $PATH
in bash uitvoer, krijg ik de fout not a valid identifier
. Waarom?
Reacties
Antwoord
Met export $PATH
wordt geprobeerd een variabele te exporteren met een naam die gelijk is aan de waarde van $PATH
(na woordsplitsing ). Dat wil zeggen, het is gelijk aan het schrijven van iets als export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. En aangezien /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
geen geldige variabelenaam is, mislukt het. Wat u wilt doen is export PATH
.
export
(equivalent aan declare -x
) in Bash maakt de variabele eenvoudig beschikbaar voor subshells.
Om de waarde van een variabele veilig en leesbaar af te drukken, gebruikt u printf %q "$PATH"
.
Opmerkingen
- In principe heb ik een aantal variabelen gemaakt, JAVA_HOME, MAVEN_HOME en ik wil er zeker van zijn dat bash deze correct heeft ingesteld, dus exporteer ik $ PATH om te zien of de padvariabelen correct zijn ingesteld op de PATH-variabele
- Dit is shell-afhankelijk, niet OS-afhankelijk. Het zou me verbazen als
export
ooit zo zou werken in Bash. - Bovendien, de PATH-variabele is al geëxporteerd en hoeft niet opnieuw worden geëxporteerd.
Antwoord
Het volgende commando export $PATH=somePath
retourneert not a valid identifier
en dat komt door de $
voor de PATH
variabele.
oplossing:
export PATH=somePath
Reacties
- Dat is wat precies mijn vraag beantwoordt. Bedankt Kevin
Antwoord
Je zou het op deze manier moeten gebruiken:
export PATH=$PATH:/something/bin
In plaats van:
export $PATH=$PATH:/something/bin
verwijder gewoon het $
-teken van links kant.
Antwoord
Waarschijnlijk moest u een $ PATH toevoegen aan uw bestaande PATH-variabele?
export PATH=$PATH:/something/bin
Reacties
- OK, dit is in hetzelfde ballenpark als de vraag, maar het staat in het linkerveld .
$
“waarde van”. U ' exporteert de variabelePATH
opnieuw, zonder toegang tot de waarde ervan, dus ' sexport PATH
zonder$
.