Faça os comandos do Terminal OS X Eu digite BOLD

10

Gostaria de fazer com que os comandos que eu digitei (entrada) no terminal se destaquem de toda a saída.

Por exemplo:

imac: ~ buster $ chmod -Rg-w myfolder
imac: ~ buster $ cd myfolder
imac: myfolder buster $ ls -l
total 0
drwxr-xr-x 9 administrador de root 306 abr 20 2010 bin
drwxr-xr-x 7 root admin 238 20 de abril de 2010 incluem: drwxr-xr-x 73 administrador raiz 2482 18 de maio 17:16 lib
drwxr-xr-x 6 admin root 204 abr 20 2010 homem
imac: myfolder buster $ echo Go Giants!
Go Giants!

negrito vem à mente, mas eu aceito uma cor ou mesmo realçando toda a linha ...

Tenho certeza de que há uma maneira de fazer isso, mas não é óbvio para mim ...

obrigado!

    
por Meltemi 27.10.2010 / 19:21

2 respostas

9

Edite seu ~/.bash_profile ou ~/.bashrc (veja o comentário de Gilles abaixo) e adicione as seguintes linhas:

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

Mova o ${BOLD} para fazer parte do prompt também em negrito. Se o prompt em si não deve ser colorido, você precisa do prefixo ${OFF} em PS1 , caso contrário as linhas vazias (pressionando enter sem ter algo escrito) farão o seguinte prompt em negrito (créditos para @Jay, obrigado novamente!)

Isso adiciona uma armadilha de depuração para desativar o formato de negrito, por isso é um truque. Créditos (funciona sem o grupo tty no OS X).

This is a bit of a hack, so use it at your own risk.

Somente definir seus prompts PS1 / PS2 como negrito seria mais fácil e visível:

BOLD="\[3[1m\]"
OFF="\[3[m\]"
PS1="${BOLD}\u@\h:\w \$${OFF}"
PS2="${BOLD}>${OFF} "
    
por 27.10.2010 / 19:58
1

Eu tive um pequeno problema com as soluções aqui usando o El Capitan (especialmente no iTerm2, mas também no velho Terminal). Eu tenho dois tipos de erros:

  1. A capacidade de excluir totalmente o prompt do bash pressionando apenas o espaço e, em seguida, o backspace
  2. Caracteres indesejados são encontrados na minha saída bash, por exemplo a entrada pwd resultaria em

    \[\]/Users/home/Directory
    

    ou em

    \e[0m/Users/home/Directory
    

Eu proponho a seguinte solução, que é realmente mais do mesmo.

    BOLD="3[1m"
    OFF="3[m"
    PS1="${OFF}\u@\h :${BOLD}"
    PS2="> ${BOLD}"
    trap 'echo -ne "${OFF}" > $(tty)' DEBUG
    
por 12.04.2016 / 12:44