Só porque o seu script é em shell, não significa que sua interface com o usuário precisa se restringir ao modo texto no terminal. Com alternativas como o Zenity, que permite interagir com a biblioteca de diálogos do Gtk, é possível enriquecer a interface do seu script usando alertas, mensagens, entrada de texto, checklists, seletores de arquivos, calendários e mais – é possível até implementar barras de progresso e sliders. Não dá de implementar diálogos muito ricos e complexos, mas usualmente a interação com o usuário via scripts shell também não requer tanta variedade.

A imagem acima mostra um diálogo do Zenity no Maemo, mas para ter uma idéia do visual como estiver instalado no seu micro, basta rodar o seguinte pipe que mostra o histórico de comandos da sua shell:

history|cut -c 8-|zenity --list --column History

O link abaixo apresenta mais alguns detalhes sobre como usar o Zenity em seus scripts. (via linuxplanet.com)

Saiba mais (linuxplanet.com).