GNU/Linux >> Linux Esercitazione >  >> Linux

Spiegazione del comando di esportazione in Linux

Il comando export in Linux viene utilizzato per creare variabili di ambiente. Puoi usarlo in questo modo:

export myvar

o una scorciatoia come questa per assegnargli un valore immediatamente:

export myvar=5

Puoi vedere il valore delle variabili esportate con il comando echo:

echo $myvar

Per rendere permanenti le modifiche, dovresti aggiungerlo al file ~/.bashrc.

Questo era solo il breve riassunto. Vediamolo nel dettaglio per capirlo meglio.

Capire come funziona il comando export

Nell'esempio seguente, dichiaro una variabile di shell var e le assegno un valore 3. Per ora è una variabile di shell.

[email protected]:~$ var=3
[email protected]:~$ echo $var
3

Se esco dal terminale e apro un nuovo terminale, questa variabile di shell scomparirà. Se voglio usare questa variabile in uno script di shell, non funzionerà. Allo stesso modo, se cambio utente (e quindi avvio una nuova shell con questo utente), questa variabile di shell non sarà disponibile:

[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var

Ora, torniamo all'utente precedente (e quindi alla shell precedente in cui ho dichiarato la variabile della shell). Puoi vedere che la variabile esiste ancora qui (perché non abbiamo ancora terminato questa sessione di shell):

[email protected]:/home/abhishek$ exit
exit
[email protected]:~$ echo $var
3

Quindi, ora se uso il comando export sulla variabile var qui diventerà una variabile di ambiente e sarà disponibile per tutte le subshell, gli utenti e gli script di shell in questa sessione.

[email protected]:~$ export var
[email protected]:~$ echo $var
3
[email protected]:~$ su prakash
Password: 
[email protected]:/home/abhishek$ echo $var
3

Puoi controllare tutte le variabili d'ambiente usando il comando printenv:

printenv

Rendi le variabili shell esportate "permanenti" con il file bashrc

Ma la lotta non finisce qui. Se chiudi la sessione, esci dal terminale, esci o riavvia il sistema, la tua variabile di ambiente scomparirà di nuovo.

Questo è il motivo per cui è pratica comune aggiungere i comandi di esportazione al file di configurazione di runtime (rc) della tua shell.

Ogni shell ha questo file rc situato nella home directory dell'utente che viene utilizzato per determinare le variabili e altre configurazioni all'avvio della shell. Come utente, puoi usare questo file rc per personalizzare la tua shell e il suo comportamento.

Se stai usando la shell bash, dovresti avere un file bashrc in ~/.bashrc . Puoi modificare questo file in un editor di testo come Vim oppure puoi semplicemente aggiungere export var=3 (o qualunque cosa tu stia esportando) in questo file.

Una volta fatto, dovresti usare il comando sorgente per rendere immediatamente disponibili le modifiche.

Una buona pratica è mantenere tutte le variabili di ambiente definite dall'utente in un unico posto.

Perché usare il comando export?

Uno degli usi più comuni del comando export è quando vuoi aggiungere qualcosa al percorso in modo che il tuo sistema Linux trovi quel determinato comando/file eseguibile.

Ad esempio, se hai installato maven e vuoi essere in grado di eseguirlo, dovresti aggiungere la posizione della directory degli eseguibili maven al percorso in questo modo:

export PATH=/opt/maven/bin:$PATH

Che cosa fa? Aggiunge questa posizione di directory al percorso. Quando provi a eseguire un comando in Linux, il tuo sistema cerca il suo eseguibile (di solito nella directory bin) nelle directory menzionate nella variabile PATH.

[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[email protected]:~$ export PATH=/opt/maven/bin:$PATH
[email protected]:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Consiglio vivamente di leggere la struttura delle directory di Linux per avere un'idea migliore.

Suggerimento bonus:rimuovi una variabile dall'elenco esportato

Supponiamo di voler rimuovere una variabile "esportata". Puoi utilizzare l'opzione Nega in questo modo:

export -n myvar

Tieni presente che ciò non ripristinerà il valore della variabile. Trasformerà semplicemente la variabile globale esportata in una variabile locale. Continuerà ad avere lo stesso valore che avevi impostato in precedenza.

Se desideri rimuovere la variabile dall'elenco esportato e rimuovere il valore assegnato, utilizza l'opzione di annullamento dell'impostazione:

unset myvar

Spero che tu abbia un'idea migliore del comando export in Linux ora. Se hai dei dubbi, non esitare a chiedere nella sezione commenti.


Linux
  1. Spiegazione approfondita del comando della cronologia in Linux

  2. ls Command in Linux:17 esempi utili spiegati

  3. Comando di esportazione Linux

  4. Esempi di comandi di esportazione Linux (come impostare le variabili di ambiente)

  5. Esempi di comandi chsh in Linux

Spiegazione del comando sorgente su Linux

Spiegazione del comando dello schermo su Linux

Spiegazione del comando Arping su Linux

Che cos'è Subshell in Linux?

Esporta comando in Linux | Spiegato

Esporta comando in Linux