In generale esistono molti tipi di shell, che si dividono principalmente in testuali e grafiche: quando si parla semplicemente di “shell”, o anche di “terminale”, si intende di solito una shell testuale con cui l’utente interagisce attraverso un terminale o un terminale virtuale (quest’ultimo può anche far parte della shell stessa anziché essere un programma a parte) tramite un’interfaccia a riga di comando; nel caso di shell grafiche è comune fare riferimento ai cosiddetti desktop environment, che forniscono agli utilizzatori un ambiente grafico da cui è possibile gestire file e avviare programmi.
Quando diamo dei comandi li diamo tramite una shell
La shell pertanto mi permette di eseguire i comandi e di avere un ambiente con delle variabili.Le moderne shell testuali posseggono diverse funzionalità ergonomiche, tra le quali:
-la cronologia dei comandi eseguiti (o command history), che permette di ripetere gli ultimi comandi digitati;
-il completamento dei comandi (o command-line completion), che permette di completare automaticamente nomi di programmi e di file
-il job control, che permette di avviare in background più programmi o di sospenderli temporaneamente.
Le shell testuali dei sistemi integrano un linguaggio di scripting con il quale è possibile scrivere veri e propri programmi che possono ad esempio automatizzare le operazioni di amministrazione di sistema, semplificandola. La sintassi di tale linguaggio è un’estensione di quella usata interattivamente, per cui chi è familiare con l’uso interattivo della shell trova facile e naturale creare degli script.
C’e’ una variabile che puo’ essere stampata a video ed ‘ e’ $
[[email protected]]$ echo $SHELL
/bin/bash
[[email protected]]$
Questa variabile contiene per l’utente che esegue, il contenuto /bin/bash/
Viene pertanto detto quale e’ la shell di default e cioe’ /bin/bash
Questa e’ una variabile e viene inizializzata ad ogni avvio di sistema