Alterar prompt do Cygwin

16

O prompt padrão do cygwin de "user@computer path \ n $" é muito longo para mim. Eu gostaria de manter o caminho.

Eu quero que isso se torne:

caminho $

Existe um arquivo de configuração que eu possa modificar para fazer isso?

    
por Cristian 17.07.2009 / 02:59

4 respostas

26

A variável de ambiente PS1 controla o prompt:

PS1='\w $ '

Para obter mais informações sobre este e outros tópicos de configuração de prompt, digite man bash (assumindo que bash é seu shell) e consulte a seção "PROMPTING".

Para tornar esta alteração permanente, edite o arquivo ~/.bashrc para adicionar a linha acima.

    
por 17.07.2009 / 03:01
1

Um shell de login é aquele cujo primeiro caractere do argumento zero é um - ou um iniciado com a opção --login. Quando o bash é invocado 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 por ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa os 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 de ~ / .bashrc, se esse arquivo existir.

Então, depende ... eu não uso o --login, então devo adicioná-lo ao ~ / .bashrc

    
por 18.03.2013 / 10:53
1

Não sei porque 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 isto:

PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

ou

export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

Isso fornece um prompt colorido:

/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':

PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

ou

export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

Isso fornece um prompt colorido:

user@hostname /full/path/to/current/folder
$your command text here

Esta é a minha preferência.

Colours are:
    1. 'user' = (light) green;
    2. '@' = pink;
    3. 'hostname' = (light) green;
    4. '/full/path/...' = yellow;
    5. '$' (on next line) = cyan;
    6. 'your command text...' = light grey.

(Não, não há erros ortográficos neste post - Inglês da rainha;))

    
por 16.01.2017 / 10:49
0

Coloque isso no seu ~ / .bashrc. Dá um prompt colorido e mantém o status em uma única linha.

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ "
    
por 13.05.2016 / 15:51

Tags