Nella risposta a questa domanda sui commenti negli script di shell, è indicato che il : è un comando nullo che non fa nulla in modo esplicito (ma non deve essere utilizzato per i commenti).
Quale sarebbe l'utilità di un comando che non fa assolutamente nulla?
Risposta accettata:
 Di solito uso true in loop; Penso che sia più chiaro:
while true; do
    ...
done
 L'unico posto in cui ho trovato quel : è davvero utile nelle istruzioni case, se hai bisogno di abbinare qualcosa ma non vuoi effettivamente fare nulla. Ad esempio:
case $answer in
    ([Yy]*) : ok ;;
    (*)     echo "stop."; exit 1 ;;
esac