Я хотел бы, чтобы заголовок окон моего терминала отображал последнюю команду, которая выполнялась. Было бы удобно найти терминал, на котором запущен Mongrel в Dev / Test / Prod и т. Д. (Для тестирования приложений rails).
Я пробовал этот код:
if [ "$SHELL" = '/bin/bash' ]
then
case $TERM in
rxvt|*term)
set -o functrace
trap 'echo -ne "\e]0;$BASH_COMMAND\007"' DEBUG
# export PS1="\e]0;$TERM\007$PS1"
;;
esac
fi
По крайней мере , Я думаю, что это код, который я пробовал. Это действительно сработало, но это вызвало странное поведение, такое как заголовок окна, который застрял бы в цикле, пока я не нажму Ctrl C при смене каталога на символическую ссылку.
Какой надежный способ задать заголовок окна для последней команды, которая была запущена?
Вы также можете использовать инструмент xtitle:
sudo apt-get install xtitle
lastcmd() { xtitle $(history 1 | cut -c8-); }
PROMPT_COMMAND=lastcmd
Использование только стандартных команд
lastcmd() { LASTCMD=$(history 1 | cut -c8-); echo -ne "\e]2;$LASTCMD\a\e]1;$LASTCMD\a"; }
PROMPT_COMMAND=lastcmd
Использование только стандартных команд
echo 'This echo command should be displayed on my window title'
Временная метка
Также для отображения время последней команды, установите переменную среды HISTTIMEFORMAT:
HISTTIMEFORMAT=%c
См. man date для полного списка форматов даты / времени.
Чтобы отключить префикс метки времени на заголовке окна:
unset HISTTIMEFORMAT
Timestamp
Хорошее место для размещения этих двух строк находится в вашем ~/.bashrc