Geralmente meu prompt de terminal era
username place$
agora mostra apenas
bash-4.2$
e todas as configurações de cores foram perdidas (no perfil do terminal, tenho o mesmo esquema de cores, mas ele simplesmente não mostra cores)
Não faço ideia do que acontece (e não sei como procurar por isso).
Isso muda do nada, eu estava trabalhando com eclipse e maven, abri um novo terminal e o novo terminal não tinha cores.
Nota: Não tenho um arquivo ~ / .bashrc, mas tenho um ~ / .bash_profile.
bash
terminal
gnome-terminal
bashrc
lcjury
fonte
fonte
bash -l
.echo $PS1
na versão de login com as cores.Respostas:
A variável prompt
$PS1
provavelmente não foi definida, portanto o padrão interno\s-\v\$
é usado.Quando o bash é iniciado interativamente, ele origina um arquivo de configuração, geralmente um
~/.bashrc
ou~/.bash_profile
, presumindo que exista, e é assim que um prompt mais sofisticado é definido. Deman bash
:Não ter seu conjunto de prompt pode ocorrer em dois contextos diferentes, shells de login e shells de não login. Se você usar um gerenciador de exibição para efetuar login diretamente na GUI, não encontrará shells de login, a menos que mude para um console virtual (via, por exemplo, CtrlAlt+ F1 a F6). No entanto, você pode testar o seu perfil de login festa na GUI, abrindo um novo shell de login explicitamente:
bash -l
.Problema ocorre com shells sem logon
Se o problema ocorrer com, por exemplo, terminais GUI normais, o seu
~/.bashrc
está faltando ou foi editado para excluir o fornecimento de um arquivo global, provavelmente/etc/bashrc
.Se
~/.bashrc
não existir, deve ser/etc/skel/.bashrc
usado para criá-lo para novos usuários. Simplesmente copie esse arquivo no diretório inicial e seu prompt padrão retornará para o próximo novo shell que você abrir.Se
~/.bashrc
existir, verifique se há uma linha em algum lugar que origine/etc/bashrc
:Caso contrário, verifique se esse arquivo existe (deveria, pelo menos na maioria das distribuições Linux) e adicione essa linha ao seu
~/.bashrc
.Problema ocorre com shells de logon
Se o problema ocorrer com shells de login e shells sem login, o problema provavelmente é o mesmo que acima. Se ocorrer apenas com shells de login, você não possui um dos arquivos mencionados para shells de login sob a citação de INVOCATION acima ou eles não fornecem o seu
~/.bashrc
, o que é normal na maioria das distribuições Linux. Se nenhum desses arquivos existir, crie~/.bash_profile
com isso:Isso permite que você mantenha sua configuração em um arquivo (
~/.bashrc
).Se não importa o que você faça, você não poderá receber um aviso de volta, crie um e coloque-o
~/.bashrc
desta maneira:Isso ocorre porque $ PS1 está definido e possui um valor padrão para shells interativos, e você não deseja defini-lo caso contrário, outras coisas podem usar esse valor para determinar se este é um ambiente interativo.
A página de manual do bash contém uma seção PROMPTING, que descreve como definir um prompt com recursos dinâmicos, como seu nome de usuário e diretório de trabalho atual, que seriam, por exemplo:
Há um guia para usar cores aqui . Preste atenção ao fato de incluir caracteres não impressos em (
\[
e\]
há uma discussão sobre isso no final da resposta sobre cores).fonte
Basta colar isso em ~ / .bashrc e ~ / .bash_profile como root no usuário afetado.
# Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
fonte
Teve que atualizar o Cygwin bash por razões de segurança.
o antigo bash = versão 4.1.10 (4) (i686-pc-cygwin) por volta de 2009
o novo bash = lançamento do 4.4.12 (3) (i686-pc-cygwin) por volta de 2016
Para obter exatamente a mesma aparência, é necessário adicionar
.bashrc
:nota: incluindo o
cd $HOME
fonte