|
csh |
|
Per passare da una shell all'altra,
basta eseguire il nome della shell. In questo caso, se per esempio
si sta utilizzando la bash, si passa alla csh semplicemente
digitandone il nome.
Se si scrive poi exit, si esce dalla csh per tornare alla bash. |
|
|
Default Shell |
Linux |
Solaris |
Darwin |
bash |
sh |
tcsh |
Shell su Windows? |
Il vecchio DOS e il più recente prompt
dei comandi Windows, seppur simili come aspetto (testuale) e
in parte come funzionalità non danno un'idea completa
di cosa è possibile fare con una shell.
E' possibile sentirne l'ebbrezza con l'ottimo CYGWIN,
che è molto di più di una shell, è un vero
e proprio ambiente Unix, con tanto di compilatore, disponibile
sotto Windows. |
|
|
Quale shell usare?
Domanda quasi religiosa, paragonabile alla scelta fra emacs o vi o
a quella fra Spectrum e C64.
Come al solito la shell migliore è quella che si conosce meglio.
Se si opera esclusivamente su Linux ha senso pensare di specializzarsi
sulla bash, se si lavora anche su Solaris, conoscere la ksh diventa
fondamentale (non è di default ma viene preinstallata). |
|
Cosa è una
shell? |
Se il kernel è il nucleo, la shell è il guscio.
Per shell si intende la l'interfaccia (testuale) tramite la quale
l'utente può operare sul sistema.
Il guscio esterno, accessibile all'umano, con cui è possibile
interagire con le funzionalità offerte dal kernel, interprete
e gestore dell'hardware.
La shell è un programma che gestisce la comunicazione
fra utente e sistema operativo interpretanto ed eseguendo i comandi
dell'utente (la shell viene chiamata anche command interpreter).
Può avere diversi utilizzi:
- Uso interattivo, il sistema attende i comandi digitati
dall'utente, che possono redirezionare input ed output;
- Configurazione della propria sessione, con cui definire
variabili e parametri che vengono utilizzati in ogni interazione
dell'utente con la macchina;
- Programmazione utilizzando comandi di sistema e funzionalità
della shell è possibile realizzare piccoli programmi (script
shell) in grado di automatizzare operazioni e reagire ad eventi.
Sulla gran parte delle distribuzioni Linux è preimpostata
di default la shell bash.
La sintassi dei comandi presenti in questo corso è basata
sulla bash.
|
Quali shell? |
Esistono molteplici shell,
ognuna delle quali presenta caratteristiche e peculiarità proprie. |
sh |
Bourne shell, è disponibile su
qualsiasi ambiente UNIX, quindi è la più utilizzata
per creare script shell compatibili e cross-platform. |
csh |
C shell, prende il nome dal linguaggio
di programmazione, ovviamente le funzionalità di tale shell
derivano in modo diretto dal C. |
bash |
Bourne Again Shell. Una delle ultime nate,
offre le stesse capacità della C shell, con l'aggiunta di alcune
funzionalità come l'history dei comandi e la TABcompletion |
ksh |
Korn shell. Largamente diffusa è
compatibile con la sh sulla parte di scripting ed ha tutte le funzionalità
di interazione della csh. http://www.kornshell.com/ |
tcsh |
E' un'evoluzione della csh, con cui mantiene
piena compatibilità e introduce feature come command line editing
e name completion. |
rsh
jsh
dtksh
rksh |
Rispettivamente Restricted
Bourne shell (da non confondere con il "remote shell"),
Bourne Shell con Job control, Desktop Korn Shell, Restricted Korn
Shell. Sono variazioni e derivazioni delle shell principali. |
|