# Variabili d'ambiente

Le variabili d'ambiente (environment variables) sono coppie chiave-valore che vengono utilizzate per memorizzare informazioni di configurazione a livello di SO.

## Trovare le variabili d'ambiente

Per identificare i valori attuali per ciascuna delle variabili d'ambiente:

```bash
env
```

La variabile `PATH` contiene la lista delle directory nelle quali la shell cerca i programmi, senza doverli richiamare indicandone il percorso completo:

```bash
PATH=/home/dado/.local/bin:/home/dado/bin:/usr/local/bin:/usr/bin:/bin:/home/dado/bin:/home/dado/scripts
```
Per stampare il valore di una variabile d'ambiente, utilizzare il comando `echo`:

```bash
echo $EDITOR
vim
```

## Creare nuove variabili d'ambiente

```bash
myvar=variable

echo $myvar
variable
```
Una variabile d'ambiente creata nel modo precedente e' disponibile solo all'interno della stessa sessione di shell. Per passare il valore della variabile a tutte le shell figlie:

```bash
myvar=variable

export myvar

bash 

echo $myvar
variable
```

## Cancellare variabili d'ambiente

```bash
unset myvar
```

## Caratteri speciali

> NOTA: le virgolette singole '' conservano il valore letterale di tutti i caratteri, mentre le virgolette doppie "" conservano tutti i caratteri, ad **eccezione** di $, `, \

Anteporre il back slash (\) a un carattere speciale fara' si che bash lo interpreti letteralmente:

```bash
touch my\ big\ file
```