В моем ~/.profile
я использую это во FreeBSD 12.0, которая прекрасно работает:
prompt_title_command() {
# use OSC escape sequence to set window/tab title
printf "\e]0;${USER}@${HOSTNAME} \u2014 ${PWD} \u2014 ${BASH_COMMAND}\a"
}
trap prompt_title_command DEBUG
Устанавливает заголовок окна / вкладки. \u2014
- это юникодный символ em-dash.
Затем я скопировал его и попытался использовать в macOS 10.14.3, но получил бы следующие ошибки:
-bash: printf: missing unicode digit for \u
-bash: printf: missing unicode digit for \u
Несмотря на то, что я получил бы эту ошибку, символ Unicode печатается, как и ожидалось в заголовке.
Это происходит только при открытии новой вкладки или окна.
Затем я изменил предыдущий код, чтобы использовать две обычные черточки вместо юникод-тире:
prompt_title_command() {
# use OSC escape sequence to set window/tab title
printf "\e]0;${USER}@${HOSTNAME} -- ${PWD} -- ${BASH_COMMAND}\a"
}
trap prompt_title_command DEBUG
Но я все равно получаю те же ошибки и не могу от них избавиться, что бы я ни пытался, если не закомментировать строку trap
.
Версия:
- GNU bash, версия 4.4.23 (1) -релиз (amd64-portbld-freebsd12.0)
- GNU bash, версия 4.4.23 (1) -релиз (x86_64-apple-darwin18.0.0)
Эта идея исходит от:
https://mg.pov.lt/blog/bash-prompt.html