SHELL

Una volta eseguito il login (in modalità testuale, quella grafica vi nasconde un po le cose...) sul vostro computer vi trovate con un "prompt comandi" attivo
Qualcosa di simile a
[biko@polgara:~]$
Il cursore lampeggiante indica che il sistema è in attesa di ricevere dei comandi.
La shell è appunto questo ambiente che vi "circonda". Quando digitate il nome di un comando e premete il tasto di invio, la shell controlla che questo comando esista (ovvero sia nel PATH), che abbiate i permessi per eseguirlo, lo manda in esecuzione e vi restituisce l'output.

I sistemi UNIX in generale vi mettono a disposizione diversi tipi di shell: i più comuni sono:
Ciascuna di queste è di solito PROGRAMMABILE e PERSONALIZZABILE (e le vedrete in seguito...)


Quale shell lanciare al login è scritto nel file
/etc/passwd
....
biko:x:1000:1000:biko,,,:/home/biko:/bin/bash ....

Questa è chiamata "shell di default"
Diversi utenti possono avere diverse shell, sul sistema possono essercene installate più di una. Le shell usabili sono elencate nel file
/etc/shells
esempio:
[biko@polgara:~]$ cat /etc/shells 
# /etc/shells: valid login shells
/bin/ash
/bin/bash
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/zsh
/bin/sash
/bin/zsh
/usr/bin/esh
[biko@polgara:~]$ 


Per cambiare la propria shell di default si può usare il comando
> chsh
esempio:
[biko@polgara:~/public_html]$ chsh 
Password: 
Changing the login shell for biko
Enter the new value, or press return for the default
        Login Shell [/bin/bash]: /bin/tcsh
[biko@polgara:~/public_html]$
Al prossimo login la shell di default sarà la TCSH
Alternativamente l'utente root puo cambiare direttamente la entry relativa nel file /etc/passwd


Per sapere quale shell abbiamo: > echo $0
esempio:
[biko@polgara:~/public_html]$ echo $0
bash
[biko@polgara:~/public_html]$ 
(vedrete i comandi e i parametri in una futura lezione, per i curiosi: man bash)