AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1527753
Accepted
xkeshav
xkeshav
Asked: 2024-09-23 11:47:17 +0800 CST2024-09-23 11:47:17 +0800 CST 2024-09-23 11:47:17 +0800 CST

a cor do shell não está sendo exibida para o nome de usuário e host, mesmo definindo a cor

  • 772

usando gnome-terminal (padrão) e adicionado abaixo ~/.bashrcpara colorir o terminal

# should be on the output of commands, not on the prompt
 46# force_color_prompt=yes
 47 
 48 if [ -n "$force_color_prompt" ]; then
 49     if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
 50         # We have color support; assume it's compliant with Ecma-48
 51         # (ISO/IEC-6429). (Lack of such support is extremely rare, and such
 52         # a case would tend to support setf rather than setaf.)
 53         color_prompt=yes
 54     else
 55         color_prompt=
 56     fi
 57 fi
 58 
 59 RED='\[\033[01;31m\]'
 60 YELLOW='\[\033[01;33m\]'
 61 GREEN='\[\033[01;32m\]'
 62 BLUE='\[\033[01;34m\]'
 63 
 64 CYAN='\[\033[01;36m\]'
 65 LIGHT_CYAN='\[\033[00;36m\]'
 66 WHITE='\[\033[00m\]'
 67 LIGHT_GRAY='\[\033[01;37m\]'
 68 COLOR_NONE='\[\e[00m\]'
 69 
 70 
 71 parse_git_branch () {
 72    while read -r branch; do
 73         [[ $branch = \** ]] && current_branch=${branch#* }
 74    done < <(git branch 2>/dev/null)
 75    [[ $current_branch ]] && printf '(%s)' "$current_branch"
 76 }
 77 
 78 
 79 if [ "$color_prompt" = yes ]; then
 80 #PS1='${debian_chroot:+($debian_chroot)}\[\033[00m\]\t \[\033[01;37m\]\u@\[\033[01;36m\]\h\[\033[01;33m\]:\[\033[00;32m\]\w\[\033[01;31m\] $(parse_git_branch)\[\033[00m\]\$ '
 81 PS1="${debian_chroot:+($debian_chroot)} \\[$(tput setaf 2)\\]\t ${LIGHT_GRAY}\u@\h${GREEN}:${BLUE}\w${RED} $(parse_git_branch)${WHITE}$ "
 82 else
 83 PS1="${debian_chroot:+($debian_chroot)}\t${LIGHT_GRAY}\u@\h${GREEN}:\w$(parse_git_branch)\$ "
 84 fi
 85 PS1="$PS1${RED}"
 86 
 87 unset color_prompt force_color_prompt

mas não quem hospeda e nome de usuário tem cores diferentes conforme definido enquanto dir e command são coloridos conforme definido

qual poderia ser o problema aqui?

Nota: se o comentário for a linha nº 87 unset color-prompt forced-color-prompt, os nomes dos branches não serão exibidos no shell

veja a captura de tela anexada abaixo

captura de tela do terminal

Então, como podemos habilitar a cor para o host/nome de usuário também?

command-line
  • 1 1 respostas
  • 42 Views

1 respostas

  • Voted
  1. Best Answer
    kos
    2024-09-23T13:40:34+08:002024-09-23T13:40:34+08:00

    Desfaça as adições feitas na linha 83, deixando apenas o nome do branch do git; este é o prompt que deve ser exibido caso o terminal não tenha suporte a cores:

    PS1="${debian_chroot:+($debian_chroot)} \t \u@\h:\w \$(parse_git_branch)\$ "
    

    Em seguida, defina o prompt de cor na linha 81; para o propósito do exemplo, estou definindo o nome de usuário como amarelo, o @como branco e o nome do host como ciano (usarei ${GREEN}em vez de \\[$(tput setaf 2)\\]para manter a consistência com o restante do prompt):

    PS1="${debian_chroot:+($debian_chroot)} ${GREEN}\t ${YELLOW}\u${WHITE}@${CYAN}\h${GREEN}:${BLUE}\w ${RED}\$(parse_git_branch)${WHITE}\$ "
    

    Você pode considerar trocar os códigos de escape de cores ANSI por tputcomandos para obter melhor compatibilidade entre diferentes terminais em sistemas onde tputele está instalado, ao custo de uma pequena sobrecarga.

    captura de tela

    • 2

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve