Lezione 12 – Variabili d’ambiente e personalizzazione Bash

Terminale con variabili d’ambiente e prompt personalizzato
Personalizzazione del prompt usando variabili d’ambiente in Bash

⏱️ Tempo stimato di lettura: 15 minuti
🧩 Difficoltà: Intermedio

🌟 Obiettivi specifici

  • Comprendere cosa sono e come funzionano le variabili d’ambiente in Bash
  • Creare, esportare e gestire variabili d’ambiente personalizzate
  • Personalizzare il prompt e l’ambiente della shell con variabili
  • Salvare le modifiche in modo permanente nei file di configurazione

🧠 Introduzione

In questa lezione approfondiamo le variabili d’ambiente, fondamentali per configurare la shell e i processi che da essa derivano. Potremo personalizzare l’ambiente di lavoro in modo più efficace, automatizzando workflow e rendendo il prompt più utile e personale. Le variabili d’ambiente Bash sono la chiave per adattare la shell ai propri bisogni.


📚 Teoria

Cosa sono le variabili d’ambiente

Le variabili d’ambiente sono coppie NOME=valore presenti in ogni processo, ereditate dal processo padre. In Bash, ogni variabile di shell può essere trasformata in variabile d’ambiente con export.

Differenza tra variabili di shell e d’ambiente

  • Variabile di shell: MIA_VAR="abc" → visibile solo nella sessione corrente
  • Variabile d’ambiente: export MIA_VAR → trasmessa ai processi figli

Comandi utili

  • env, printenv, echo $MIA_VAR per visualizzare
  • export MIA_VAR="valore" per esportare
  • unset MIA_VAR per rimuovere
  • export -p per visualizzare le variabili esportate

Variabili d’ambiente comuni

  • PATH, HOME, LANG, TERM, EDITOR, DISPLAY, TMPDIR

Personalizzare il prompt (PS1)

La variabile PS1 definisce l’aspetto del prompt. Esempio:

PS1="\u@\h:\w$ "

Per una guida completa al prompt personalizzato, consulta Lezione 4: Il prompt dei comandi.


🔶 Esempi pratici

1. Creare una variabile e esportarla

export MIO_EDITOR="vim"
echo $MIO_EDITOR

2. Aggiungere directory a PATH

export PATH="$HOME/bin:$PATH"

3. Personalizzare PS1 con variabile personalizzata

export MYPROMPT="🐚"
PS1="$MYPROMPT \u@\h:\w$ "

4. Rendere permanente

Aggiungi al ~/.bashrc:

export MIO_EDITOR="vim"
export PATH="$HOME/bin:$PATH"
export PS1='$MYPROMPT \u@\h:\w$ '

Poi esegui:

source ~/.bashrc

📝 Esercizio finale

  1. Crea export MYNAME="IlTuoNome" nel terminale e visualizzalo.
  2. Modifica PS1 per mostrare il tuo nome nel prompt.
  3. Appendi queste righe al tuo ~/.bashrc, quindi esegui source ~/.bashrc.
  4. Apri una nuova shell e verifica le modifiche.

🧠 Quiz multiplo

  1. La sintassi export VAR="val" rende?
  2. Come rimuovi una variabile d’ambiente?
  3. Perché modificare PATH via variabile d’ambiente?

  1. Risposta :una variabile d’ambiente
  2. Risposta: Serve perché la shell cerchi eseguibili anche in nuove directory
  3. Risposta: unset VAR

❓ FAQ

  1. Le variabili d’ambiente persistono dopo riavvio?
    Solo se aggiunte a ~/.bashrc, ~/.profile o altri file di avvio.
  2. È possibile usare emoji o colori in PS1?
    Sì, usando sequenze ANSI o UTF-8.
  3. Ho un errore nel .bashrc, cosa faccio?
    Apri una nuova shell con bash --norc, correggi il file e poi ricarica.
  4. Posso avere variabili con lo stesso nome?
    Nella stessa shell no, verranno sovrascritte.
  5. Dove trovo le variabili globali?
    Nel file /etc/environment o /etc/profile per variabili di sistema.

🔄 Collegamento alla lezione successiva

→ Lezione 13 – Script Bash: struttura, esecuzione, parametri

🗳⃣ Hai dubbi o vuoi condividere la tua versione personalizzata? Commenta qui sotto!

🎈 Avanzamento

🔹 Lezione 12/24 completata

Lascia un commento