Come risolvere i problemi con le variabili di ambiente non impostare in uno script bash

Come risolvere i problemi con le variabili di ambiente non impostare in uno script bash

Le variabili di ambiente vengono utilizzate per modificare il comportamento di un ambiente. Queste variabili possono modificare il funzionamento del software o dell'applicazione. L'impostazione delle variabili di ambiente ha più applicazioni in bash. Tali variabili possono essere utilizzate per archiviare qualsiasi cosa.

Inoltre, ogni sistema ha alcune variabili di ambiente che utilizza durante l'interazione con l'utente. In questo articolo, esamineremo prima le basi degli script bash e imposterà e manipolare le variabili di ambiente e poi esamineremo alcuni rimedi per i problemi associati.

Script Bash

In Ubuntu, quasi tutte le attività possono essere eseguite utilizzando l'interfaccia utente grafica o la riga di comando. Alcuni compiti sono fatti più facilmente usando il guscio anziché la GUI. Gli script sono file che consistono in comandi. Tutti questi comandi vengono eseguiti quando viene eseguito il file di script. Gli script bash sono tali script che usano l'interprete Bash.

L'estensione degli script è .sh. Gli script possono essere scritti usando qualsiasi editor di testo. Ogni script bash inizia con la riga #!/Bin/Bash, che dice al sistema di utilizzare l'interprete bash.

variabili ambientali

Le variabili di ambiente hanno le proprietà della località di processo, dell'eredità e della sensibilità dei casi. Località del processo significa che le variabili di ambiente sono esclusive per l'istanza specifica della shell se non diversamente specificato. L'eredità si riferisce alla relazione genitore-figlio tra vari ambienti.

La sensibilità al caso, come suggerisce il nome, significa che le variabili di ambiente sono sensibili alle modifiche al caso. Generalmente, il formato delle variabili di ambiente dipende dal suo sistema genitore. Tuttavia, tutte le variabili di ambiente hanno due caratteristiche in comune; Nome variabile e valore memorizzato.

Il nome della variabile può essere qualsiasi cosa, ma il valore deve essere nel formato conforme al tipo di variabile di ambiente. Ciò è particolarmente importante quando si tratta delle variabili di ambiente create dal sistema. Ad esempio, la variabile di ambiente Lang è responsabile della selezione del linguaggio utilizzato dall'applicazione per comunicare con l'utente. Il suo valore è dipendente dalla posizione, ma in genere negli Stati Uniti, avrà il valore "en_us.UTF-8 ".

Manipolare le variabili di ambiente

Esistono diverse utility grafiche per lo sguardo, la configurazione e la modifica delle variabili di ambiente, ma in questo articolo, vedremo come affrontare tali variabili nella riga di comando bash.

Per creare una nuova variabile di ambiente, è possibile utilizzare il comando di esportazione. Esistono diversi modi per creare una variabile di ambiente. È possibile definire prima la variabile e quindi esportarla. Creeremo l'editor denominato variabile con il valore nano (editor di testo) e quindi esporterlo.

$ Editor = nano
$ Export Editor

L'altro modo di creare le variabili di ambiente è definendole nel comando di esportazione.

$ Export Editor = Nano

Se si intende utilizzare gli spazi nel valore, è necessario utilizzare le doppie citazioni durante la creazione della variabile di ambiente come mostrato:

$ Export var = "My Value"

È possibile accedere ai valori delle variabili di ambiente utilizzando il comando Echo seguito dal nome della rispettiva variabile con un segno in dollari.

$ echo $ var

È inoltre possibile utilizzare il comando printenv per ottenere il valore di qualsiasi variabile di ambiente.

$ printenv var

Problemi relativi alle variabili di ambiente

Durante la definizione delle variabili di ambiente negli script bash, i problemi comuni sono correlati alla relazione genitore-figlio delle conchiglie. La soluzione a tali problemi è definire le variabili in un ambiente genitore. Come abbiamo visto in precedenza, in genere, le variabili di ambiente sono temporanee ed esclusive dell'istanza di shell in cui sono create; Tuttavia, possiamo anche definire le variabili di ambiente che sono persistenti e disponibili per altri utenti.

Se si desidera creare una variabile di ambiente permanente solo per l'uso, dovrai modificare il .file bashrc. Si trova nella directory /home /utente. È possibile aggiungere una variabile di ambiente var in .file bashrc eseguendo i seguenti comandi:

$ nano/home/utente/.Bashrc

Ora utilizziamo l'Editor di testo Nano per modificare il contenuto del file bash.

esportazione var = "la mia variabile permanente"

Per applicare le modifiche alla sessione corrente, fonte il .file bashrc utilizzando il seguente comando:

$ fonte .Bashrc

Il var variabile sarà disponibile per ogni istanza della shell eseguita dall'utente corrente.

Tuttavia, se stai cercando di creare una variabile di ambiente disponibile per tutti gli utenti, dovrai includerla nel file /etc /ambientale. Ad esempio, possiamo aggiungere una variabile di ambiente globale al file /etc /ambiente eseguendo i seguenti comandi:

$ nano /etc /ambiente

Come abbiamo fatto prima con il .file bashrc, ora modifichiamo il contenuto del file ambientale.

Export Global = "Questa è una variabile globale."

Orignte il file ambientale per applicare le modifiche digitando il seguente comando:

$ fonte /etc /ambiente

Se si desidera creare una variabile di ambiente che memorizza il risultato di un comando eseguito in uno script bash, dovrai utilizzare la sostituzione dei parametri. Il formato generale della sostituzione dei parametri prevede l'uso del comando di esportazione seguito dal comando con un segno in dollari racchiuso tra parentesi come mostrato:

$ Export var = $ ()

Ad esempio, se si desidera archiviare la variabile dell'ambiente shell in un'altra variabile Myshell, puoi utilizzare il seguente comando:

$ Export MyShell = $ (echo $ shell)

Conclusione

In questo articolo, abbiamo attraversato le basi degli script bash e delle variabili di ambiente. Inoltre, abbiamo capito come manipolare le variabili di ambiente, alcune questioni tipiche relative alla creazione di tali variabili negli script bash e come rimediare.