modifiche comportamento shell
é possibile fare delle modifiche in modo che alcuni comportamenti della shell siano cambiati:
ignoreeof
evita che con CTRL + D chiuda il terminale
sintassi:
set -o ignoreeof imposta (evita la chiusura)
set +o ignoreeof elimina (rispristina il default)
noclobber
evita che un file venga cancellato inavvertitamente da una operazione di redirezione (con il comando >)
sintassi:
set -o noclobber imposta (evita la cancellazione)
set +o noclobber elimina (rispristina il default)
noglob
disattiva i caratteri speciali della shell, i caratteri *, ?, [, ] e ~ non verranno piu' espansi se presenti all'interno di un file.
utile per fare riferimento a file che contengono tali caratteri
sintassi:
set -o noglob imposta (ignora i caratteri)
set +o noglob elimina (rispristina il default)
scrivendo 'pippo*' normalmente la shell espanderebbe pippo con tutti i nomi dei file che iniziano con 'pippo' e terminano con una qualsiasi sequenza di caratteri
impostando l'opzione noglob, cio' non accadrebbe piu' e sarebbe possibile far riferimento al file pippo* senza problemi.
personalizzaione shell
ogni utente puo' avere una versione personalizzata della propria shell modificando opportunamente alcuni file di configurazione
l'utente puo' creare delle variabili personali e puo' modificare alcune di quelle predefinite dal sistema.
pwer visualizzare il valore della variabile si usa il comando echo
I file di configurazione della shell BASH sono 5:
generali:
- /etc/profile
eseguito nel login (contiene l'inizializzazione di alcune variabili di sistema e l'esecuzione di alcuni programmi di avvio)
- /etc/bashrc
contiene gli alias ed alcune funzioni definibili dall'utente
specifici per utente:
- /home/utente/.bash_profile
eseguito nel login (contiene l'inizializzazione di alcune variabili di sistema e l'esecuzione di alcuni programmi di avvio)
in alcuni casi manca, usare .bashrc
- /home/utente/.bashrc
contiene gli alias ed alcune funzioni definibili dall'utente
- /home/utente/.bash_logout
eseguinto nel momento del logout (va creato)
nel momento del login il sistema esgue in ordine questi file:
- file profile presente nella directory /etc che definisce le variabili generali
- file .bash_profile presente nella directory home dell'utente
- file bashrc presente nella directory /etc dove sono presenti gli alias dei comandi
- file .bashrc presente nella directory home dell'utente
nel momento di accesso ad una shell tramite terminale il sistema esgue in ordine questi file:
- file bashrc presente nella directory /etc dove sono presenti gli alias dei comandi
- file .bashrc presente nella directory home dell'utente
al logout l sistema esgue in ordine questi file:
- file /home/utente/.bash_logout