"Non un identificatore valido" quando eseguo "export $ PATH"


Risposte:


40

In esecuzione export $PATHtenterà di esportare una variabile con un nome uguale al valore di $PATH(dopo la divisione delle parole ). Cioè, equivale a scrivere qualcosa di simile 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:/binnon è 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 i subshells.

Per stampare il valore di una variabile in modo sicuro e leggibile, utilizzare printf %q "$PATH".


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 del percorso sono state impostate correttamente sulla variabile PATH
ThaSaleni,

1
Questo dipende dalla shell, non dal sistema operativo. Sarei sorpreso se exportmai lavorato così in Bash.
l0b0

Inoltre, la variabile PATH è già esportata e non è necessario esportarla di nuovo.
Kusalananda

19

export $PATH=somePathVerrà restituito il seguente comando not a valid identifiere ciò è dovuto $alla PATHvariabile prima .

soluzione:

export PATH=somePath


0

Dovresti usarlo in questo modo:

export PATH=$PATH:/something/bin

Invece di:

export $PATH=$PATH:/something/bin

basta rimuovere il $segno dal lato sinistro.


-1

Probabilmente hai avuto bisogno di aggiungere un $ PATH alla tua variabile PATH esistente?

export PATH=$PATH:/something/bin

2
OK, questo è nello stesso parco palla della domanda, ma è fuori nel campo sinistro.
G-Man dice "Ripristina Monica" il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.