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:
Digitare il comando env e premere Return:
È 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).
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.
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:
CDPATH - Specifica le directory in cui il sistema deve cercare quando viene digitato il nome di una directory senza specificare un percorso completo.
HISTORY - Definisce il numero dei comandi memorizzati dal comando history (solo per la C shell).
HOME - Definisce il percorso assoluto della directory home dell'utente. Il sistema utilizza questa informazione per determinare la directory in cui spostarsi quando viene digitato il comando cd senza argomenti.
LANG - Specifica la lingua locale. Sono ammessi i valori: giapponese, tedesco, francese, svedese e italiano.
LOGNAME - Definisce il nome di login dell'utente. Il valore di default per questa variabile è il nome di login specificato nel database passwd come parte del processo di login. Per informazioni sul database passwd, vedere il manuale System Administration Guide.
MAIL - Specifica il percorso della casella postale dell'utente. Questa è di norma collocata nella directory /var/mail/nomeutente, dove nomeutente è il nome di login dell'utente. Per maggiori informazioni su questo file, vedere Capitolo 7.
MANSECTS - Imposta le sezioni disponibili del manuale di riferimento online (pagine man).
PATH - Elenca, nell'ordine, le directory in cui il sistema deve cercare per trovare il programma da eseguire quando viene utilizzato un comando. Se la directory richiesta non si trova nel percorso di ricerca, occorre inserirla nella variabile oppure digitare il percorso completo quando si utilizza un comando.
L'impostazione di default per questa variabile viene definita automaticamente in base a quanto specificato nel file .profile (shell Bourne o shell Korn) o .cshrc (C shell) nel processo di login.
PS1 - Definisce il prompt di sistema. Il prompt di default per la shell Bourne e la shell Korn è il simbolo del dollaro ($). Il prompt di default per la C shell è il simbolo di percentuale (%). Il prompt di default per l'utente root in tutte le shell è il simbolo del cancelletto (#).
SHELL - Definisce il tipo di shell utilizzata da vi e da altri programmi.
TERMINFO - Specifica il percorso dei terminali non supportati che sono stati aggiunti al database terminfo. L'impostazione di questa variabile non è necessaria per i terminali di default definiti nel database. Per informazioni sul database terminfo, vedere la System Administration Guide.
TERM - Definisce il tipo di terminale correntemente in uso. Quando si avvia un editor, il sistema cerca un file con un nome corrispondente alla definizione di questa variabile. Il file viene cercato prima nel percorso eventualmente specificato nella variabile TERMINFO, e quindi nella directory di default, /usr/share/lib/terminfo, per determinare le caratteristiche del terminale. Se il sistema non trova una definizione in nessuna delle directory esaminate, il terminale viene identificato come asincrono.
TZ - Definisce il fuso orario utilizzato dall'orologio del sistema.
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.
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 |
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 |
La sintassi da utilizzare per cambiare il prompt di sistema dipende dal tipo di shell utilizzata (Bourne, Korn o C shell).
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`}}: " |
Il primo esempio imposta il prompt come due punti (:) seguiti da uno spazio.
Il secondo esempio crea un prompt formato dal nome del sistema seguito da due punti e uno spazio.
Il terzo esempio definisce un prompt formato dal nome del sistema seguito dal nome di login dell'utente fra parentesi graffe {}, due punti e uno spazio.
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.
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`}}: " |
Il primo comando imposta il prompt come un simbolo di percentuale seguito da uno spazio.
Il secondo comando crea un prompt formato dal nome del proprio sistema seguito dal numero progressivo del comando (hostname1, hostname2, hostname3 e così via).
Il terzo comando crea un prompt formato dal nome del sistema seguito dal nome di login dell'utente fra parentesi graffe, due punti e uno spazio.
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.
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 |