La bash mantiene una serie di variabili configurabili a piacere, che ne modificano certi comportamenti.
Alcune di queste variabili sono usate solo dalla bash, altre - e questo è importante - sono passate automaticamente a tutti i programmi che la bash esegue, e formano il cosidetto ambiente (environment).
Il comando env stampa una lista di tali variabili di ambiente.
Il comando echo $Nome_Variabile mostra la singola variabile e il comando
export Nome_Variabile="stringa" inserisce o modifica una variabile.
Alcune di queste variabili sono molto importanti:
PATH
PATH è una lista di directory separate da : La bash cerca solo in queste directory i comandi da eseguire; se non trova il
comando tra quelli contenuti in tali directory, risponde "commando not found"
L'ordine in cui appaiono le directory nel PATH è importante. Se ci sono comandi
diversi ma con lo stesso nome in directory diverse, e si e' digitato giusto il nome
del comando e non il suo path, la bash esegue quello che appare nella diretory che
compare per prima nel PATH.
In caso di dubbio si usa il comando which per sapere quale è il comando
che verrebbe eseguito.
Da notare che la bash quando viene lanciata esamina le directories del PATH e si i
crea un suo elenco di eseguibili; se vengono tolti a aggiunti o cambiati eseguibili in un
secondo tempo, la bash continua ad usare il vecchio elenco; per forzare l'aggiornamento
dell'elenco c'e' il comando hash -r (o nei vecchi sistemi il comando rehash).
PS1
E' il prompt, cioè la stringa che appare quando la bash è pronta a ricevere
un nuovo comando dall'utente.
Viene usata una sintassi particolare: per esempio PS1="[\u@\h:\w]\$" fornisce come
prompt una stringa formata da
nome utente @ nome macchina : nome directory $
e per esempio \d fornisce la data e \t l'ora.
TERM
DISPLAY
sono usati da alcuni programmi per sapere come gestire lo schermo; si hanno malfunzionamenti se non sono esatti.
Laboratorio di Comunicazione mediante Calcolatore - Sergio Steffè - AA 2019/2020 - PISA