La shell sh(1) usa il file di inizializzazione
.profile posto nella home directory dell'utente.
Inoltre può esserci un file di inizializzazione globale del
sistema, esempio /etc/profile. In tal caso, il file
globale del sistema sarà eseguito prima di quello locale.
Un semplice file .profile potrebbe essere come
il seguente:
PATH=/usr/bin:/usr/ucb:/usr/local/bin:. # setta il PATH
export PATH # rende disponibile PATH per le sotto-shell
# setta il prompt
PS1="{`hostname` `whoami`} " # setta il prompt, $ di default
# funzioni
ls() { /bin/ls -sbF "$@";}
ll() { ls -al "$@";}
# setta il tipo di terminale
stty erase ^H # setta Control-H come tasto di cancellazione
eval `tset -Q -s -m ':?xterm'` # richiede il tipo di terminale, presupponendo
# xterm
#
umask 077Ogni volta che si incontra il simbolo #, il resto di quella linea
viene trattato come un commento. Nella variabile PATH
ogni directory è separata da due punti (:) e il punto
(.) specifica che la directory corrente è nel
proprio path. Se il punto non è nel proprio path, lo stesso
diventa un semplice elemento per eseguire un programma nella directory
corrente:
./programma
Non è una buona idea avere il punto (.)
nel proprio PATH, in modo tale da non eseguire
inavvertitamente un programma senza averne l'intenzione quando si usa il
comando cd per spostarsi in differenti
directory.
Una variabile settata in .profile rimane valida
solo nel contesto della shell di login, a meno che la si esporti con
export o si esegua .profile in
un'altra shell. Nell'esempio precedente PATH viene
esportato per le sotto-shell. Si può eseguire un file con il
comando built-int . di sh(1), esempio:
. ./.profile
Si possono creare proprie funzioni. Nell'esempio precedente la
funzione ll, risultato di ls -al,
lavora su un specifico file o directory.
Con stty(1) il carattere di cancellazione viene settato a Control+H, che è usualmente il tasto di Backspace.
Il comando tset(1) richiede il tipo di terminale e assume questo
a xterm se si conferma con invio
<CR>. Questo comando è eseguito con un
comando built-in di shell, eval, che prende il
risultato del comando tset(1) e lo usa come argomento per la shell.
In questo caso l'opzione -s di tset(1) setta
le variabili TERM e TERMCAP e le
esporta.
L'ultima linea nell'esempio richiama il comando
umask, facendo in modo che i file e le directory create
non abbiano i permessi di lettura-scrittura-esecuzione per l'utenza
gruppo e altri.
Per altre informazioni su sh(1), digitare
man sh al prompt di shell.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Per domande su FreeBSD, leggi la
documentazione prima di contattare
<questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a
<doc@FreeBSD.org>.