Cosa sono le variabili?
Una variabile è un'area di archiviazione temporanea in memoria impostata dall'utente, dalla shell, dal sistema o da qualsiasi programma che carica un altro programma. Esistono due categorie di variabili:
- Le variabili ambientali sono validi per la durata della sessione.
- Le variabili della shell si applicano solo all'istanza corrente della shell e vengono utilizzati per impostare condizioni di lavoro a breve termine.
Visualizzazione delle variabili shell
Il comando echo mostra il valore memorizzato all'interno di una variabile di shell.
$ echo $SHELL /bin/bash
$ set DISPLAY=:0.0 EDITOR=/usr/bin/vi SHELL=/bin/bash TERM=xterm-256color USER=geek ...
Impostazione e disimpostazione delle variabili della shell
Le variabili della shell vengono impostate utilizzando il comando set. Ad esempio:
$ set history = 50 $ echo $history 30
Il comando set viene utilizzato anche per visualizzare le variabili della shell ei loro valori. Ad esempio:
$ set | grep history 30
I valori possono essere invertiti usando il comando unset.
Variabili predefinite della shell Bash
La tabella descrive le variabili a cui vengono assegnati valori predefiniti dalla shell bash all'accesso.
Variabile | Significato |
---|---|
EDITOR | Definisce l'editor predefinito per la shell |
FCEDIT | Definisce l'editor per il comando fc. Utilizzato con il meccanismo della cronologia per modificare i comandi eseguiti in precedenza. |
CASA | Imposta la directory in cui cambia il comando cd quando non viene fornito alcun argomento sulla riga di comando |
LOGNAME | Imposta il nome di accesso dell'utente |
PERCORSO | Specifica un elenco delimitato da due punti di directory in cui cercare quando la shell deve trovare un comando da eseguire |
PS1 | Specifica il prompt della shell Bash principale:$ |
PS2 | Specifica il prompt dei comandi secondario, normalmente:> |
GUSCI | Specifica il nome della shell (ovvero /bin/bash) |
Personalizzazione delle variabili Shell:PS1
La stringa del prompt della shell è memorizzata nella variabile della shell PS1 e puoi personalizzarla in base alle tue preferenze.
$ PS1=”$LOGNAME@`uname -n` \$PWD $ “ user@server01: $
– In questo esempio, il prompt visualizza il nome di accesso dell'utente, il nome host del sistema e la directory di lavoro corrente.
– Il nome utente viene letto dalla variabile LOGNAME e il nome host deriva dall'output di 'uname -n comando '.
– Questo prompt della shell visualizza le informazioni corrette anche quando l'utente accede a host diversi.
– Le virgolette indietro (`) delimitano una stringa di comando incorporata.
Personalizzazione delle variabili Shell:PERCORSO
La variabile PATH contiene un elenco di nomi di percorsi di directory, separati da due punti. Quando si esegue un comando sulla riga di comando, la shell cerca queste directory da sinistra a destra, in sequenza per individuare quel comando. Se la shell non trova il comando nell'elenco delle directory, visualizza un messaggio di errore "non trovato". Per garantire che i comandi funzionino correttamente, è necessario includere la rispettiva directory nella variabile PATH. L'esempio illustra l'inclusione della directory home nella variabile PATH.
Ad esempio, per includere la directory home nella variabile PATH, eseguire i seguenti comandi.
$ echo $PATH /usr/bin:/usr/sbin
$ PATH=$PATH:~
$ echo $PATH /usr/bin:/usr/sbin:/home/user01Nota :La variabile PATH passa automaticamente il valore alle subshell.