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 077
Ogni 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>.