GNU/Linux >> Linux Esercitazione >  >> Linux

Variabile di esportazione Bash

Introduzione

Le variabili shell sono coppie chiave-valore utilizzate per memorizzare dati di configurazione importanti per la shell. Dato che una variabile è solo un puntatore a un dato, può contenere un riferimento a qualsiasi tipo di dati:un nome, un numero, un nome file o anche un'altra variabile.

Tutte le variabili che l'utente definisce all'interno della shell bash sono locali per impostazione predefinita. Significa che i processi figlio della shell non ereditano le variabili della shell. L'utente deve esportare le variabili per renderle disponibili ai processi figlio.

Questo tutorial ti mostrerà come esportare variabili Bash in Linux usando export comando.

Prerequisiti

  • Accesso al terminale/riga di comando.
  • La shell bash.

Cosa fa il comando di esportazione in Bash?

Le variabili in Bash vengono create usando il comando dichiara o semplicemente digitando la coppia chiave-valore nella shell. Ad esempio, per creare una variabile denominata test , che ha un valore stringa di example , digita:

test="example"

Per vedere il valore di una variabile, usa il comando echo:

echo $test

Il valore appare nell'output:

Tuttavia, la variabile creata in questo modo si applica solo alla sessione della shell corrente. Per verificarlo, apri una shell figlio digitando:

bash

Usa echo per controllare la variabile.

echo $test

L'output è vuoto perché la variabile test ha un valore solo nella shell padre. È necessario esportare una variabile per essere utilizzata nei processi figlio.

Anche l'esportazione di variabili è importante per gli script Bash. L'esempio seguente crea uno script denominato test-script.sh che mostra il valore del test variabile.

1. Crea il file utilizzando un editor di testo come nano:

nano test-script.sh

2. Digita quanto segue nel file:

#!/bin/bash
echo $test

3. Salvare il file ed uscire.

4. Modificare le autorizzazioni del file per consentirne l'esecuzione:

chmod u+x test-script.sh

5. Esegui lo script:

./test-script.sh

Lo script restituisce un output vuoto.

L'output è vuoto perché lo script viene eseguito in una shell figlio che viene automaticamente aperta all'esecuzione dello script.

Come esportare la variabile Bash

La sintassi per l'export il comando è semplice:

export [variable-name]

L'esempio seguente conferma che il test la variabile esiste anche dopo aver usato bash per avviare una nuova sessione di shell.

Gli script ora hanno anche accesso alla variabile. Esegui di nuovo lo script creato in precedenza.

./test-script.sh

Ora emette correttamente il valore di test .

Funzioni di esportazione

Usa l'export comando per esportare le funzioni bash.

1. Ad esempio, crea una funzione bash chiamata echoVar :

function echoVar 

2. La funzione chiama echo per visualizzare il valore del test variabile:

{
echo "The value of the test variable is: "$test
}

3. La funzione può ora essere chiamata con il suo nome per visualizzare il valore della variabile. Per rendere disponibile la funzione nei processi figlio, digitare:

export -f echoVar

La funzione è ora disponibile nelle shell figlio.

Visualizzazione di tutte le variabili esportate

Quando l'export comando viene emesso senza argomenti, visualizza l'elenco di tutte le variabili. Per esportare tutte le variabili elencate in processi figlio, utilizzare il -p opzione.

export -p

Le due variabili create in questo articolo si trovano in fondo all'output.

Per annullare l'effetto di export -p , usa il -n opzione.

export -n

Le variabili sono di nuovo limitate alla sessione della shell corrente.


Linux
  1. Definizione di una variabile con o senza esportazione

  2. Controlla se esiste una variabile in un elenco in Bash

  3. passando grep in una variabile in bash

  4. Come esportare permanentemente una variabile in Linux?

  5. Esporta una variabile da bash e usala in Python

Bash printf - Come stampare una variabile in Bash

Bash Shebang

Differenza tra la definizione di variabili Bash con e senza esportazione

Bash Scripting:variabili spiegate con esempi

Come impostare la variabile d'ambiente in Bash

Spiegazione del comando di esportazione in Linux