Quando eseguo export $PATH
in bash, ricevo lerrore not a valid identifier
. Perché?
Commenti
Risposta
Lesecuzione di export $PATH
proverà a esportare una variabile con un nome uguale al valore di $PATH
(dopo suddivisione in parole ). Cioè, è equivalente a scrivere qualcosa come export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. E poiché /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
non è un nome di variabile valido, non riesce. Quello che vuoi fare è export PATH
.
export
(equivalente a declare -x
) in Bash rende semplicemente la variabile disponibile per subshells.
Per stampare il valore di una variabile in modo sicuro e leggibile, usa printf %q "$PATH"
.
Commenti
- Fondamentalmente ho creato alcune variabili, JAVA_HOME, MAVEN_HOME e voglio assicurarmi che bash le abbia impostate correttamente, quindi esporto $ PATH per vedere se le variabili di percorso sono state impostate correttamente sulla variabile PATH
- Questo dipende dalla shell, non dal sistema operativo. Sarei sorpreso se
export
funzionasse in questo modo in Bash. - Inoltre, la variabile PATH è già esportato e non è necessario essere esportato di nuovo.
Rispondi
Il seguente comando export $PATH=somePath
restituirà not a valid identifier
e ciò è dovuto alla $
prima della PATH
variabile.
soluzione:
export PATH=somePath
Commenti
- Quello è ciò che risponde esattamente alla mia domanda. Grazie Kevin
Risposta
Dovresti usarla in questo modo:
export PATH=$PATH:/something/bin
Invece di:
export $PATH=$PATH:/something/bin
rimuovi semplicemente il segno $
da sinistra lato mano.
Risposta
Probabilmente avevi bisogno di aggiungere $ PATH alla tua variabile PATH esistente?
export PATH=$PATH:/something/bin
Commenti
- OK, questo è nello stesso campo della domanda, ma è fuori nel campo a sinistra .
$
è “value of”. ' riesportare la variabilePATH
, non accedendo al suo valore, quindi ' sexport PATH
senza$
.