Para obter mais informações sobre este e outros tópicos de configuração de prompt, digite man bash(assumindo que bashseja seu shell) e consulte a seção "PROMPTING".
Para tornar essa alteração permanente, edite seu ~/.bashrcarquivo para adicionar a linha acima.
~ / .bashrc não é executado para um shell de login. atualize ~ / .bash_profile. Eu uso a seguinte string de prompt, que tem outras informações úteis, não apenas o caminho: PS1 = '[\ e [32m] \ t [\ e [33m] \ w [\ e [31m] \! [\ e [0m] \ $ '
bobmcn 26/08/09
1
Não esqueça que, normalmente, origens .profile .bashrc, de modo que, na verdade, um shell de login é inicializado com o mesmo material que um shell que não é de login, mais o que está em .profile. Se for esse o caso, colocar seu novo prompt em .bashrc mata dois coelhos com uma cajadada só.
1
Um shell de login é aquele cujo primeiro caractere do argumento zero é um - ou um iniciado com a opção --login. Quando o bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível. A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento. Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos do ~ / .bashrc, se esse arquivo existir.
Então depende ... eu não uso o --login, então devo adicioná-lo ao ~ / .bashrc
Não sei por que ter menos contexto é melhor do que ter mais ... O fato de haver uma nova linha no prompt significa que o tamanho do prompt não deve ser um problema, mas tente o seguinte:
/full/path/to/current/folder
$your command text here
Dessa forma, você sempre vê o contexto completo da pasta, mas ainda recebe uma linha completa para inserir texto. (Eu deixei de fora o espaço habitual após o '$' porque é colorido para maior clareza).
Colours are:
1. '/full/path/...' = yellow;
2. '$' (on next line) = cyan;
3. 'your command text...' = light grey.
Para aqueles que também desejam o contexto 'user @ hostname':
Respostas:
A
PS1
variável de ambiente controla o prompt:Para obter mais informações sobre este e outros tópicos de configuração de prompt, digite
man bash
(assumindo quebash
seja seu shell) e consulte a seção "PROMPTING".Para tornar essa alteração permanente, edite seu
~/.bashrc
arquivo para adicionar a linha acima.fonte
Um shell de login é aquele cujo primeiro caractere do argumento zero é um - ou um iniciado com a opção --login. Quando o bash é chamado como um shell de login interativo ou como um shell não interativo com a opção --login, ele primeiro lê e executa comandos do arquivo / etc / profile, se esse arquivo existir. Depois de ler esse arquivo, ele procura ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível. A opção --noprofile pode ser usada quando o shell é iniciado para inibir esse comportamento. Quando um shell interativo que não é um shell de login é iniciado, o bash lê e executa comandos do ~ / .bashrc, se esse arquivo existir.
Então depende ... eu não uso o --login, então devo adicioná-lo ao ~ / .bashrc
fonte
Não sei por que ter menos contexto é melhor do que ter mais ... O fato de haver uma nova linha no prompt significa que o tamanho do prompt não deve ser um problema, mas tente o seguinte:
ou
Isso fornece um prompt colorido:
Dessa forma, você sempre vê o contexto completo da pasta, mas ainda recebe uma linha completa para inserir texto. (Eu deixei de fora o espaço habitual após o '$' porque é colorido para maior clareza).
Para aqueles que também desejam o contexto 'user @ hostname':
ou
Isso fornece um prompt colorido:
Essa é a minha preferência.
(Não, não há erros de ortografia neste post - inglês da rainha;))
fonte
.bashrc não funcionou para mim. Eu adicionei isso no final do / etc / profile e funcionou:
Estou usando o Cygwin versão 2.11.2 (versão mais recente a partir de 2018-12-18).
fonte
Coloque isso no seu ~ / .bashrc. Dá um prompt colorido e mantém o status em uma única linha.
fonte