11

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

Например:

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 ответа2

9

Отредактируйте ваш ~/.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} "
1

У меня были небольшие проблемы с решениями здесь, когда я использовал 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .