← Back to course

Variabili d’Ambiente, Alias e Basi della Shell

Variabili d’Ambiente, Alias e Basi della Shell

Bentornato.

Nella lezione precedente hai imparato a impacchettare e spacchettare file con gli archivi.

Ora entriamo nel mondo della shell.

Qui il terminale inizia a ricordare cose.

Variabili. Percorsi. Alias. File di configurazione.

In pratica, insegniamo al terminale qualche abitudine.

Speriamo buona.

Cosa Imparerai

In questa lezione imparerai a:

La Missione

La tua missione è semplice:

Capire come la shell conserva informazioni e come creare scorciatoie per i comandi che usi spesso.

Perché scrivere comandi lunghi ancora e ancora non è disciplina.

È sofferenza con passaggi extra.

Stampare Testo con echo

Il comando echo stampa testo.

Prova:

echo "Ciao, terminale!"

Dovresti vedere:

Ciao, terminale!

Semplice.

Utile.

Molto educato.

echo viene spesso usato per stampare valori, testare variabili o creare piccoli file di testo.

Che Cos’è una Variabile?

Una variabile è un nome che conserva un valore.

Creane una:

name="Viktor"

Ora stampala:

echo $name

Dovresti vedere:

Viktor

Importante: non mettere spazi intorno a =.

Questo è corretto:

name="Viktor"

Questo è sbagliato:

name = "Viktor"

La shell vede gli spazi e si confonde.

Molto potente.

Molto sensibile.

Come un gatto geniale.

Variabili d’Ambiente Integrate

Linux ha già molte variabili d’ambiente.

Prova:

echo $HOME

Potresti vedere:

/home/viktor

HOME conserva il percorso della tua directory home.

Prova:

echo $USER

Potresti vedere il tuo nome utente.

Prova:

echo $SHELL

Potresti vedere qualcosa come:

/bin/bash

oppure:

/usr/bin/zsh

Questo mostra quale shell stai usando.

La Variabile PATH

Una delle variabili più importanti è PATH.

Prova:

echo $PATH

Potresti vedere qualcosa come:

/usr/local/bin:/usr/bin:/bin:/home/viktor/.local/bin

PATH dice alla shell dove cercare i comandi.

Quando scrivi:

ls

la shell cerca nelle directory dentro PATH finché trova il programma ls.

Senza PATH, dovresti scrivere percorsi completi come un robot molto stanco.

Trovare Dove Vive un Comando

Usa:

command -v ls

Potresti vedere:

/usr/bin/ls

Prova:

command -v bash
command -v zsh
command -v python
command -v node

Alcuni possono esistere.

Alcuni no.

Il terminale è onesto.

A volte brutalmente.

Variabili Temporanee

Le variabili create nella shell di solito sono temporanee.

Prova:

course="Terminale Linux"
echo $course

Dovresti vedere:

Terminale Linux

Ora chiudi il terminale e riaprilo.

Prova:

echo $course

Probabilmente sarà vuoto.

La shell lo ha dimenticato.

Non perché è scortese.

Perché non lo hai salvato.

Esportare una Variabile

Per rendere una variabile disponibile ai processi figli, usa export.

Esempio:

export COURSE_NAME="Terminale Linux"

Ora esegui:

echo $COURSE_NAME

Dovresti vedere:

Terminale Linux

Le variabili d’ambiente sono spesso usate per configurazioni.

Per esempio:

export API_URL="http://localhost:8080"
export NODE_ENV="development"

Gli sviluppatori lo usano continuamente.

Perché scrivere segreti direttamente nel codice è il modo in cui i progetti diventano scene del crimine.

Mostrare le Variabili d’Ambiente

Per vedere molte variabili d’ambiente, usa:

env

Questo può stampare molto output.

Puoi cercare dentro:

env | grep HOME

Oppure:

env | grep PATH

Il simbolo | manda l’output di env dentro grep.

Si chiama pipe.

Le pipe sono uno dei motivi per cui il terminale è potente.

E anche uno dei motivi per cui la gente inizia a sorridere in modo strano usando Linux.

Che Cos’è un Alias?

Un alias è una scorciatoia per un comando.

Esempio:

alias ll="ls -la"

Ora esegui:

ll

Funziona come:

ls -la

È utile perché alcuni comandi sono lunghi e la vita è breve.

Alias Utili

Ecco alcuni esempi utili:

alias ll="ls -la"
alias gs="git status"
alias c="clear"
alias ..="cd .."

Ora:

..

funziona come:

cd ..

Sembra barare.

Ma è permesso.

Linux non è contro le scorciatoie.

Linux è contro il nonsense.

Più o meno.

Controllare Alias Esistenti

Per vedere gli alias esistenti:

alias

Potresti averne già alcuni.

Molti sistemi definiscono alias per sicurezza o comodità.

Per esempio:

alias rm="rm -i"

Questo chiede conferma prima di eliminare.

Molto prudente.

Molto genitoriale.

Rimuovere un Alias

Per rimuovere un alias:

unalias ll

Ora prova:

ll

Potrebbe non funzionare più.

È normale.

Hai rimosso la scorciatoia.

Il terminale non porta rancore.

Di solito.

Salvare Alias in Modo Permanente

Gli alias creati nel terminale spariscono quando lo chiudi.

Per salvarli, aggiungili al file di configurazione della shell.

Se usi Bash:

nano ~/.bashrc

Se usi Zsh:

nano ~/.zshrc

Aggiungi:

alias ll="ls -la"
alias c="clear"
alias ..="cd .."

Salva il file.

Poi ricaricalo.

Per Bash:

source ~/.bashrc

Per Zsh:

source ~/.zshrc

Ora gli alias restano.

Il terminale ha imparato.

Un momento di orgoglio.

Quasi emozionante.

Controllare Quale Shell Usi

Esegui:

echo $SHELL

Se vedi Bash:

/bin/bash

usa .bashrc.

Se vedi Zsh:

/usr/bin/zsh

usa .zshrc.

Se stai usando Arch Linux con Zsh, sì, probabilmente sei esattamente il tipo di persona che si divertirà troppo con gli alias.

Errori Comuni

Spazi intorno a =

Sbagliato:

name = "Viktor"

Corretto:

name="Viktor"

La shell qui è severa.

Niente spazi.

Non si negozia.

Dimenticare $

Questo stampa la parola name:

echo name

Questo stampa il valore della variabile:

echo $name

$ significa:

Dammi il valore salvato dentro questa variabile.

Senza $, la shell pensa che ti piaccia semplicemente dire nomi.

Salvare alias nel file sbagliato

Se usi Zsh e modifichi .bashrc, potrebbe non succedere nulla.

Se usi Bash e modifichi .zshrc, potrebbe non succedere nulla.

Controlla prima la shell:

echo $SHELL

Poi modifica il file giusto.

Misura due volte.

Modifica una.

Pratica

Prova:

echo "Pratica shell"
echo $HOME
echo $USER
echo $SHELL
echo $PATH
course="Terminale Linux"
echo $course
alias ll="ls -la"
ll
unalias ll

Poi rispondi:

  1. Cosa fa echo?
  2. Cosa mostra $HOME?
  3. Cosa fa $PATH?
  4. Cosa crea alias?
  5. Perché gli alias spariscono quando chiudi il terminale?

Mini Sfida

Crea tre alias:

alias ll="ls -la"
alias home="cd ~"
alias ports="ss -tuln"

Poi:

  1. Esegui ll.
  2. Esegui home.
  3. Esegui ports.
  4. Salva questi alias in .bashrc o .zshrc.
  5. Ricarica il file con source.

Niente mouse.

Il mouse ora guarda dalla pensione.

Riassunto

Oggi hai imparato che:

La shell non è solo un posto dove scrivi comandi.

È un ambiente che puoi personalizzare.

Con attenzione.

Con potere.

E speriamo senza trasformare il terminale in un circo.

Prossima Lezione

Nella prossima lezione scriveremo il nostro primo script Bash.

È lì che i comandi smettono di essere azioni singole e diventano automazione.

Il terminale sta per fare il lavoro noioso al posto tuo.

Finalmente.