Personalizzare la shell bash
Da Linux@P2P Forum Italia.
La shell bash è uno strumento molto evoluto e molto più user friendly di quanto si possa pensare. Tutti gli utenti linux sono consapevoli delle sua potenza e duttilità ma pochi sono consapevoli della possibilità di personalizzarla in maniera minuziosa.
Alias: richiamare facilmente un comando
Gli alias permettono di richiamare in modo molto semplice e diretto (perchè definito da noi) comandi anche molto complessi. La loro logica è molto basilare: ad un determinato comando (eventualmente composto da parametri ed opzioni) viene assegnata un'arbitraria "etichetta" (invocabile come un normale comando). Esistono due vie per definire un alias:
- lanciare direttamente dalla shell in uso il comando:
alias nome_etichetta=comando
L'alias sarà definito immediatamente e potrà essere usato fino al termine di quella sessione di login per quel utente.
- definire gli alias direttamente nel file ~/.bashrc in questa forma (eguale alla precedente):
alias nome_etichetta=comando
Al successivo login sarà possibile invocare l'alias da noi definito.
NOTA N°1: l'alias è invocabile solo dall'utente che lo ha definito, pertanto un alias definito dall'utente pippo non potrà mai essere usato (se non definito in egual modo anche da loro) anche da pluto o da root.
NOTA N°2: Per rendere globali (per tutti gli utenti del sistema) gli alias occorre modificare il file /etc/bash.bashrc.
NOTA N°3: E' possibile associare più di un comando ad un alias, è sufficiente separare icomandi con ";" (punto e virgola).
Per comprenderne meglio il funzionamento e la definizione procediamo con un esempio: vogliamo assegnare un alias al comando:
ps aux
Ossia non altro che il tool ps richiamato con le opziono -aux (verrà fornita una lista dettagliata dei processi in esecuzione in quell'istante nel sistema).
- Agendo con la prima via basterà dare:
alias processi='ps aux'
E l'alias sarà subito disponibile con:
processi
- Agendo con la seconda via basterà dare:
- Se si usa GNOME
gedit ~/.bashrc
- Se si usa KDE
kate ~/.bashrc
- Se invece si vuole usare un editor testuale (consigliato) si può usare nano (per informazioni sull'utilizzo vedere Editare i files di testo con nano) o vi:
nano ~/.bashrc
Inserendo alla fine del file (se non esiste crearlo):
alias processi='ps aux'
Digitando, dal successivo login, da shell:
processi
Otterremo l'effetto desiderato.
Sfruttare features nascoste
Per personalizzare la propria shell bash è possibile usare il comando shopt (control optional shell behavior). Invoncando semplicemnete il comando:
shopt
Otteniamo una lista delle funzionalità abiltate / disabilitate (rispettivamente on / off). Per abiltare una feature basta dare:
shopt -s nome_funzionalità
E per disabilitarne una:
shopt -u nome_funzionalità
Ad esempio, tra le molte funzionalità (documentate nel man) presenti può risultare utile abilitare "cdspell", un correttore automatico per cd.
NOTA: Come per gli alias, ogni personalizzazione con shopt è riservata all'utente che l'ha richiesta.