Guida avanzata a Solaris

Variabili d'ambiente

Il sistema configura l'ambiente di lavoro in base a una serie di impostazioni definite nei file di inizializzazione. Per modificare temporaneamente l'ambiente di lavoro, ad esempio per la sessione corrente, è possibile eseguire i comandi appropriati direttamente al prompt di sistema. Se invece si desidera apportare modifiche di carattere permanente, occorre memorizzare variabili d'ambiente "permanenti" nei file .profile, .login o .cshrc.

Per visualizzare le variabili d'ambiente correntemente impostate sul sistema:

  1. Digitare il comando env e premere Return:

    $ env
    HISTORY=100
    HOME=/home/italia/logos
    HZ=100
    LOGNAME=logos
    MAIL=/var/mail/logos
    MANSECTS=\1:1m:1c:1f:1s:1b:2:\3:3c:3i:3n:3m:3k:3g:3e:3x11:3xt:3
    w:3b:9:4:5:7:8
    PATH=/usr/bin
    SHELL=/bin/sh
    TERM=sun
    TZ=EST5EDT


    Nota -

    È anche possibile usare il comando env per identificare la propria shell di login, specificata nella variabile d'ambiente SHELL. Nell'esempio precedente, la shell è impostata come /bin/sh (shell Bourne).


Profilo utente

In questa sezione vengono descritte alcune delle variabili d'ambiente più utilizzate. Molte di queste potrebbero essere già definite nel proprio profilo utente. Come già accennato, il file del profilo utente (.profile per la shell Bourne e la shell Korn e .cshrc per la C shell) si trova nella directory home.


Nota -

I file nascosti (file "punto") possono essere visualizzati con il comando ls -la.


L'elenco seguente descrive alcune delle variabili d'ambiente che è possibile impostare nel proprio profilo utente. La sintassi per la definizione delle variabili d'ambiente dipende dal tipo di shell in uso:

Impostazione della variabile PATH

La variabile d'ambiente PATH viene usata dal sistema per localizzare i comandi nella struttura delle directory di SunOS. Con la definizione di PATH si stabilisce un insieme fisso di directory in cui il sistema va a cercare ogni volta che viene digitato un comando.

Se la variabile PATH non è impostata e si desidera ad esempio copiare un file, sarà necessario inserire il percorso completo del comando di copia, /usr/bin/cp. Se invece la variabile PATH è stata impostata in modo da includere la directory /usr/bin, sarà sufficiente digitare cp perché il sistema esegua il comando. In questo caso, infatti, il sistema cercherà il comando cp in tutte le directory incluse nella variabile PATH. L'inserimento nella variabile delle directory che contengono i comandi più comuni di SunOS è perciò determinante per semplificare e velocizzare il lavoro.

Se si utilizza una shell di tipo Bourne o Korn, la variabile PATH deve essere specificata nel file .profile (nella directory home) con la sintassi seguente:

PATH=.:/usr/bin:/home/bin

dove home rappresenta il percorso della directory home dell'utente.

Se si utilizza la C shell, la variabile PATH deve essere specificata nel file .cshrc (nella directory home) con la sintassi seguente:

set path=(. /usr/bin home/bin)

dove home è il percorso della directory home dell'utente.


Nota -

Nelle C shell è anche possibile usare il simbolo ~ per rappresentare il percorso della directory home.


Se si modifica la variabile PATH e si utilizza una C shell, il comando source permette di applicare immediatamente le modifiche apportate senza bisogno di effettuare il logout:

esempio% source .cshrc 

Se si utilizza una shell di tipo Bourne o Korn, lo stesso risultato si può ottenere con il comando seguente:

$ . .profile 

Alias (solo C shell)

Gli alias sono abbreviazioni che sostituiscono comandi di uso frequente. Ad esempio, l'impostazione di default per il comando rm non prevede una richiesta di conferma prima di eseguire la cancellazione. Questa impostazione può essere rischiosa, poiché un errore di battitura può causare la cancellazione del file sbagliato. La C shell consente tuttavia di utilizzare la variabile alias per modificare l'impostazione di default aggiungendo la riga seguente al file .cshrc:

alias rm  'rm -i'

Con questa istruzione nel file .cshrc, il comando rm viene reso equivalente a rm -i, che rappresenta la sua forma interattiva. In questo modo, il sistema chiederà sempre conferma all'utente prima di eseguire la cancellazione di un file. (Le virgolette che racchiudono rm -i nell'esempio sono necessarie per includere lo spazio vuoto tra rm e -i. Senza le virgolette, la C shell non potrebbe interpretare correttamente i caratteri dopo lo spazio.)

Per applicare immediatamente le modifiche apportate al file .cshrc, usare il comando source. Questo comando fa in modo che il sistema rilegga il file .cshrc ed esegua i relativi comandi:

esempio% source .cshrc

Modifica del prompt di sistema

La sintassi da utilizzare per cambiare il prompt di sistema dipende dal tipo di shell utilizzata (Bourne, Korn o C shell).

Shell Bourne e shell Korn

Se si utilizza una shell di tipo Bourne o Korn, il prompt di sistema può essere ridefinito con il comando PS1. L'esempio seguente mostra tre possibili applicazioni del comando:

PS1=": "
PS1="`hostname`: "
PS1="`hostname`{`id`}}: "

Si provi a cambiare il proprio prompt di sistema usando uno dei comandi illustrati nell'esempio. Il prompt resterà nella forma impostata fino alla modifica successiva o fino al logout.

Per modificare il prompt in modo permanente, aggiungere una delle righe indicate (o un prompt di propria creazione) al file .profile. In questo modo, il prompt specificato apparirà ad ogni login e in ogni shell.

C shell

Se si utilizza una C shell, il prompt di sistema può essere personalizzato con il comando set prompt. L'esempio seguente mostra tre possibili applicazioni del comando:

set prompt="% "
set prompt="`hostname`\!: "
set prompt="`hostname`{`id`}}: "

Si provi a cambiare il proprio prompt corrente usando uno dei comandi dell'esempio. Il prompt resterà nella forma definita fino alla modifica successiva o fino al logout dal sistema.

Per modificare il prompt in modo permanente, aggiungere una delle righe indicate (o un prompt di propria creazione) al file .cshrc. In questo modo, il prompt specificato apparirà ad ogni login e in ogni shell.

Altre variabili

Oltre a quelle descritte finora, l'utente può impostare molte altre variabili nei file .profile o.cshrc. Per un elenco completo delle variabili, vedere la guida man Pages(1): User Commands. Qui di seguito è fornita una breve descrizione di alcune delle opzioni più utili.

L'istruzione set noclobber impedisce di sovrascrivere accidentalmente un file durante una copia con il comando cp. Questa variabile è disponibile solo se si utilizza una C shell. Inserire nel file .cshrc la riga seguente:

set noclobber

L'istruzione set history definisce il numero dei comandi che verranno visualizzati con il comando history. La lista visualizzata da history può essere utilizzata anche per ripetere comandi precedenti. Questa variabile è disponibile solo se si utilizza una C shell. Per impostarla, inserire la riga seguente nel file .cshrc:

set history=100

Per ottenere lo stesso risultato utilizzando una shell di tipo Bourne o Korn, inserire la riga seguente nel file .profile:

HISTORY=100