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:
- BASH (Bourne-Again Shell)
- CSH
- TCSH
- KSH (Korn Shell)
- ......
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)