Existe uma armadilha de DEBUG que pode ser chamada antes de cada comando ser executado
por exemplo
trap 'echo -e "\nStarted at: $(date)\n"' DEBUG
Então, se eu fizer isso:
$ trap 'echo -e "\nStarted at: $(date)\n"' DEBUG
$ pwd
Started at: Thu Aug 18 11:59:33 EDT 2016
/home/sweh
$ echo hello
Started at: Thu Aug 18 11:59:35 EDT 2016
hello
$ sleep 100
Started at: Thu Aug 18 11:59:37 EDT 2016
Ele não está reescrevendo o prompt, mas você pode ver como ele pode ser feito para gerar material antes de cada comamnd. Você pode tornar a função de armadilha tão complicada quanto você precisar.