Você pode usar xtrace , ou seja, set -x para obter um histórico de todos os comandos que o shell executa:
configuração:
xtracefile=$(mktemp)
exec 9>"$xtracefile"
BASH_XTRACEFD=9
set -x
execute o que quer que seja
foo() { echo foo; echo bar; }
foo
Agora $xtracefile deve conter as linhas
+ echo foo
+ echo bar
e você pode trabalhar com isso para escolher o que quiser. Note que isso não limpa ou limpa o arquivo a qualquer momento, ele crescerá indefinidamente.
Se você quiser se livrar dos sinais + , atribua PS4="" .