Это было похоже на ответ.
trap 'command' DEBUG делает bash run command перед каждой командой. echo -ne "\033]0;Title\007" изменяет заголовок на «Title» $BASH_COMMAND содержит команду, которая запускается.Объединив их, мы получим
trap 'echo -ne "\033]0;$BASH_COMMAND\007" > /dev/stderr' DEBUG
. Затем мы просто должны сбросить заголовок после завершения команды. Я сделал это, установив $PS1, чтобы изменить заголовок на текущий путь.
tl; dr: Добавьте эти две строки (в этом порядке, в противном случае я получил искаженное приглашение) в нижней части ~/.bashrc ]
PS1="\033]0;\w\007${PS1}"
trap 'echo -ne "\033]0;$BASH_COMMAND\007" > /dev/stderr' DEBUG
Изменить: ваш $PS1 может уже изменить заголовок, и в этом случае нужна только последняя строка.