Este artigo do nixCraft apresenta 10 ferramentas para acrescentar algum tempero à interface dos seus scripts shell, indo bem além do echo e read – quando o ambiente de execução permite, é claro.

Tem dicas old school, como o tput, que permite alguma portabilidade no controle do visual do que é impresso no terminal, mas ainda mantém a cara de TTY que os profissionais da área conhecem há décadas, conforme visto na ilustração acima.

E há dicas mais apropriadas aos ambientes desktop mais recentes, como o notify-send, mostrado acima.
E no meio do caminho tem bem mais ferramentas interessantes, incluindo setleds, zenity, kdialog, dialog, logger, setterm, envio de mensagens com o smbclient, e sockets no Bash.
Fiz uma contagem rápida e percebi que já usei 8 das 10 ferramentas acima, o que certamente indica que já fiz minha cota de scripts pouco portáveis entre ambientes POSIX ;-)
You can easily use various tools to write GUI and/or network (socket) scripts under KDE or Gnome desktops. Shell scripts can make use of some of the GUI widget (menus, warning boxs, progress bars etc). (via cyberciti.biz)