Copy Link
Add to Bookmark
Report
Vana Imago 3 24
*********************
* DIFFERENZE FRA *
* LE SHELL *
*********************
La shell e' l'accesso principale che abbiamo al sistema, quindi scegliere
la shell che fa al caso nostro ci portera' poi molti vantaggi.
Inizialmente si usava la Bourne Shell (sh) che offriva la possibilita'
di scrivere programmi strutturati, poi venne la csh (C-shell), con
molte novita', creata per essere migliore della Bourne Shell per l'uso
interattivo. La nuova shell si basava su un linguaggio che ricordava il
C (nel quale Unix stesso era scritto) ma questi miglioramenti comportavano
anche una complessit
maggiore e, cosa inevitabile, molti bug. Cosi'
si cominciarono ad usare entrambe le shell a seconda
del lavoro che si doveva svolgere, poi David Korn cre la Korn Shell (ksh)
che faceva un passo indietro per quanto riguardava il linguaggio della
csh, ma manteneva molti pregi di quest'ultima.
Ma la ksh non era gratuita cosi' nacque la bash (Bourne Again SHell)
che come la ksh si basava sulla Bourne Shell per quanto riguarda il
linguaggio, ma aveva molte delle caratteristiche della csh ed essendo
gratuita fu adottata per Linux. Poi fu creata da Paul Falstad la zsh,
basata sulla Bourne Shell, ma con molte aggiunte.
Ed ecco uno schema con le caratteristiche delle varie shell
(l'ho trovato sulla rete in inglese e non mi andava di tradurlo) :
--------------
SKEMA TROVATO SULLA RETE E NON TRADOTTO
-------------
sh csh ksh bash tcsh zsh rc es
Job control N Y Y Y Y Y N N
Aliases N Y Y Y Y Y N N
Shell functions Y(1) N Y Y N Y Y Y
"Sensible" Input/Output redirection Y N Y Y N Y Y Y
Directory stack N Y Y Y Y Y F F
Command history N Y Y Y Y Y L L
Command line editing N N Y Y Y Y L L
Vi Command line editing N N Y Y Y(3) Y L L
Emacs Command line editing N N Y Y Y Y L L
Rebindable Command line editing N N N Y Y Y L L
User name look up N Y Y Y Y Y L L
Login/Logout watching N N N N Y Y F F
Filename completion N Y(1) Y Y Y Y L L
Username completion N Y(2) Y Y Y Y L L
Hostname completion N Y(2) Y Y Y Y L L
History completion N N N Y Y Y L L
Fully programmable Completion N N N N Y Y N N
Mh Mailbox completion N N N N(4) N(6) N(6) N N
Co Processes N N Y N N Y N N
Builtin artithmetic evaluation N Y Y Y Y Y N N
Can follow symbolic links invisibly N N Y Y Y Y N N
Periodic command execution N N N N Y Y N N
Custom Prompt (easily) N N Y Y Y Y Y Y
Sun Keyboard Hack N N N N N Y N N
Spelling Correction N N N N Y Y N N
Process Substitution N N N Y(2) N Y Y Y
Underlying Syntax sh csh sh sh csh sh rc rc
Freely Available N N N(5) Y Y Y Y Y
Checks Mailbox N Y Y Y Y Y F F
Tty Sanity Checking N N N N Y Y N N
Can cope with large argument lists Y N Y Y Y Y Y Y
Has non-interactive startup file N Y Y(7) Y(7) Y Y N N
Has non-login startup file N Y Y(7) Y Y Y N N
Can avoid user startup files N Y N Y N Y Y Y
Can specify startup file N N Y Y N N N N
Low level command redefinition N N N N N N N Y
Has anonymous functions N N N N N N Y Y
List Variables N Y Y N Y Y Y Y
Full signal trap handling Y N Y Y N Y Y Y
File no clobber ability N Y Y Y Y Y N F
Local variables N N Y Y N Y Y Y
Lexically scoped variables N N N N N N N Y
Exceptions N N N N N N N Y
Key to the table above.
Y
Feature can be done using this shell.
N
Feature is not present in the shell.
F
Feature can only be done by using the shells function mechanism.
L
The readline library must be linked into the shell to enable this
Feature.
Notes to the table above
1. This feature was not in the orginal version, but has since become
almost standard.
2. This feature is fairly new and so is often not found on many versions
of the shell, it is gradually making its way into standard
distribution.
3. The Vi emulation of this shell is thought by many to be incomplete.
4. This feature is not standard but unoffical patches exist to perform
this.
5. A version called 'pdksh' is freely available, but does not have the
full functionality of the AT&T version.
6. This can be done via the shells programmable completion mechanism.
7. Only by specifing a file via the ENV environment variable.
--------------
FINE DELLO SKEMA TROVATO SULLA RETE E NON TRADOTTO
--------------
Bene osservando questo schema dovreste chiarirvi le idee riguardo quale
shell e' meglio per i vostri scopi.
Per cambiarvi la shell al prompt di unix digitate chsh o passwd -s, perch
il sistema riconosca una shell come valida c'e' bisogno che sia
inserita nel file /etc/shells.
Techno Knight (techno83@freemail.it)õ