HP-UX offre la scelta di varie shell diverse. Questa
sezione descrive la shell POSIX e la shell Bourne. È possibile
reperire i dettagli sulla shell C nella Shells: User's
Guide.
Ciascuna di tali shell ha caratteristiche diverse ed è possibile
aumentare la velocità e l’efficienza con cui si
interagisce con HP-UX se si apprende ad usare alcune delle
funzionalità incorporate della shell scelta.
Con la shell POSIX, è possibile modificare la propria
riga di comando e richiamare i comandi precedenti. È possibile “personalizzare” l’ambiente della
propria shell usando variabili della shell e script
di login.
Usando comandi semplici, è possibile stabilire quale
shell sia in esecuzione o modificare la shell in modo provvisorio
o definitivo. Per un elenco del nome del file per ciascuna shell
ed il prompt di sistema di default, consultare “Determinazione
della propria shell di login”.
La seguente tabella elenca le funzionalità che potrebbero
essere di aiuto nel decidere quale shell utilizzare:
Tabella 3-1 Confronto fra le funzionalità delle shell
Funzionalità | Descrizione | POSIX Key | Bourne | C |
|---|
Storico dei comandi | Consente la memorizzazione del comando
in un buffer, in seguito modificato e riutilizzato. | Sì | No | Sì |
Modifica della riga | Capacità di modificare le righe
di comando attuali o precedenti con un editor di testo. | Sì | No | No |
Completamento del nome del file | Capacità di terminare automaticamente
la digitazione dei nomi dei file nelle righe di comando. | Sì | No | Sì |
Comando alias | Consente di rinominare i comandi, includere
automaticamente le opzioni del comando o abbreviare le righe di comando
lunghe. | Sì | No | Sì |
Shell limitate | Funzionalità di sicurezza che
fornisce un ambiente controllato con capacità limitate. | Sì | Sì | No |
Controllo del lavoro | Strumenti per rintracciare ed accedere
ai processi in esecuzione in background. | Sì | No | Sì |
Determinazione
della propria shell di login |
 |
Il comando echo $SHELL visualizza il nome del file della shell in cui
si è entrati al momento del login.
Il comando echo visualizza i contenuti o il valore di una variabile denominata SHELL. La variabile SHELL contiene il nome del file che a sua volta contiene
il programma della shell in esecuzione. In questo esempio, si tratta
di /usr/bin/sh, il file contenente il codice per la shell POSIX.
La seguente tabella elenca sia il nome del file di ogni shell
sia il prompt di sistema di default (il prompt del superutente per
ciascuno è #).
Tabella 3-2 Nomi dei file della shell e prompt di default
Shell | Nome del file | Prompt |
|---|
POSIX | /usr/bin/sh | $ |
C | /usr/bin/csh | % |
Bourne (obsoleta) | /usr/old/bin/sh | $ |
Korn (sostituita dalla shell POSIX) | /usr/bin/ksh (collegato a /usr/bin/sh) | $ |
Modifica
provvisoria della propria shell |
 |
A meno che non ci si trovi in una shell limitata, è possibile
modificare provvisoriamente la propria shell usando questo comando:
dove nome_shell è il nome della shell (ad esempio, sh, o csh). La modifica provvisoria della shell consente
di condurre esperimenti in altre shell. Digitando il nome della
shell che si desidera eseguire, si richiama (entra) quella
shell e pertanto compare il corretto prompt. Per tornare alla shell di
partenza, digitare exit o CTRL-D.
Il seguente esempio inizia nella shell POSIX, entra nella
shell C e torna alla shell POSIX:
csh(1)
$ csh Entrare nella shell C. % ps Eseguire il comando ps. PID TTY TIME COMMAND 6009 tty01 0:00 csh Notare come siano in esecuzione sia i processi 5784 tty01 0:00 sh della shell C sia quelli della shell 1 POSIX 6010 tty01 0:00 ps % exit Uscire dalla shell C. $ Torna la shell POSIX. |
Modifica
definitiva della propria shell |
 |
Per modificare in modo definitivo la propria shell
di login (la shell di default che si ha al momento del
login), usare il comando chsh (change shell):
chsh(1)
$ chsh nome_utente nome_shell_completo |
dove nome_utente è il proprio nome utente e nome_shell_completo è il nome completo del percorso (ad esempio, /usr/bin/sh) della shell che si desidera come default. “Determinazione
della propria shell di login” contiene I nomi del
percorso completo per ciascuna shell. Dopo aver usato il comando
chsh, occorre eseguire il logout e nuovamente il login
perchè la modifica divenga effettiva. Ad esempio, se
terry modifica la shell de login di default nella shell
C, il comando legge:
$ chsh terry /usr/bin/csh % |