Сделать OS X Terminal команды, которые я печатаю BOLD

Я хотел бы, чтобы команды, которые я набрал (ввод) в терминал, выделялись из всего вывода.

Например:

imac: ~ buster $ chmod -R gw myfolder
imac: ~ buster $ cd myfolder
IMAC: Myfolder Buster $ ls -l
всего 0
drwxr-xr-x 9 root admin 306 20 апреля 2010 г. bin
drwxr-xr-x 7 root admin 238 апр. 2010 включает
drwxr-xr-x 73 root admin 2482 18 мая 17:16 lib
drwxr-xr-x 6 root admin 204 20 апреля 2010 человек
imac: myfolder buster $ echo Go Giants!
Go Гиганты!

смелые прыжки на ум, но я бы принял цвет или даже выделение всей линии...

Я уверен, что есть способ сделать это, но это не очевидно для меня...

Спасибо!

2 ответа

Решение

Отредактируйте свой ~/.bash_profile или же ~/.bashrc (см. комментарий Жиля ниже) и добавьте следующие строки:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${OFF}\u@\h:\w \$${BOLD}"
PS2="> ${BOLD}"
trap 'echo -ne "${OFF}" > $(tty)' DEBUG

Переместить ${BOLD} вокруг, чтобы сделать часть подсказки также жирным шрифтом. Если сама подсказка не должна быть цветной, вам нужно ${OFF} префикс в PS1в противном случае пустые строки (нажатие клавиши ввода без указания чего-либо) сделает следующий запрос жирным (спасибо @Jay, еще раз спасибо!)

Это добавляет отладочную ловушку, чтобы отключить жирный формат, так что это довольно много. Кредиты (работает без группы tty на OS X, хотя).

Это что-то вроде хака, поэтому используйте его на свой страх и риск.

Только настройку PS1/PS2 подсказки, выделенные жирным шрифтом, будут проще и понятнее:

BOLD="\[\033[1m\]"
OFF="\[\033[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "

У меня возникли небольшие проблемы с решениями здесь при использовании El Capitan (особенно в iTerm2, но также и в старом терминале). Я получил два вида ошибок:

  1. Возможность полностью удалить мою подсказку bash, просто нажав пробел, а затем клавишу backspace
  2. Нежелательные персонажи попадают в мой вывод bash, например, на вход pwd приведет к

    \[\]/Users/home/Directory
    

    или в

    \e[0m/Users/home/Directory
    

Я предлагаю следующее решение, которое на самом деле просто больше того же самого.

    BOLD="\033[1m"
    OFF="\033[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG
Другие вопросы по тегам