Oltre a quella dei caratteri jolly, la shell esegue una serie di sostituzioni sulla riga di comando. Ogni sostituzione è distinta da un carattere speciale.
| caratteri | sostituzione eseguita | esempio di comando |
~ |
directory di partenza (home directory) degli utenti | ls ~tizio/tmp |
| $ | variabili | echo Terminale definito come $TERM |
| ! | cronologia (ultimi comandi dati) | !! |
| `comando` | output del comando comando | echo "Ci sono `who | wc -l` utenti collegati" |
Consideriamo in dettaglio soltanto il primo tipo di sostituzione.
Un carattere ``tilde'' (~) all'inizio di un nome di file
o directory, eventualmente seguito da una barra più altri caratteri,
viene sostituito dal nome della home directory dell'utente
attivo.
Se ~, all'inizio di un nome di file o directory, è seguito
immediatamente, senza barre interposte, dal nome di un utente, viene
sostituito il nome di quella della directory home di quell'utente.
Es:
~la home directory dell'utente attivo ~/xxxil file xxx sulla home directory dell'utente attivo ~xxxla home directory dell'utente xxx ~xxx/yyyil file yyy sulla home directory dell'utente xxx