Como posso fazer com que o prompt de comando do meu terminal seja mais curto para aumentar o valor real da linha?

5

Gostaria de tornar o prompt de comando do meu terminal mais curto. Atualmente, estou usando virtualenv e virtualenvwrapper do Python, o que está causando muitos textos extras a serem exibidos em meu prompt de comando. Eu preciso encurtar isso para o mínimo, então eu gostaria de levar isso:

(pytutorial)sez@sez-laptop:~/.virtualenvs/nettuts/firstblog$

e, idealmente, transformá-lo em

(pyt)sez:~/.virtualenvs/nettuts/firstblog$

ou talvez algo mais curto, talvez. Agora estou usando o Gnome Terminal 2 & bater.

Alguma sugestão?

    
por max 20.12.2011 / 15:00

7 respostas

11

Seu prompt pode ser configurado utilizando o env1 do PS1. Por exemplo, para ter um prompt de comando minimalista de '$', simplesmente defina PS1 = '$' em seu .bashrc. Aqui estão alguns bons exemplos de configuração de um prompt personalizado

    
por 20.12.2011 / 15:04
5

Edite seu .bashrc e altere a definição PS1 . Veja seu próprio /etc/bashrc para um exemplo ou veja a documentação do bash.

    
por 20.12.2011 / 15:02
4

Eu acho que \u:\w\$ é o que você precisa, onde \u é seu nome de usuário e \w é o diretório de trabalho atual ( \W é menor). Modifique seu ~/.bashrc para alterar o prompt.

    
por 20.12.2011 / 15:03
3

Basta digitar o seu terminal nano .bash_profile. Copiar:

export PS1="\u@\h\w: "

Salvar.

    
por 15.03.2012 / 03:35
3

Usamos um cabeçalho consistente em todas as nossas máquinas, que tem o diretório de trabalho atual completo na linha (junto com o nome do host e o usuário) e, em seguida, uma quebra de linha apenas com o nome do diretório atual e o próprio prompt.

Dessa forma, você ainda tem bastante largura e há uma clara distinção entre linhas diferentes.

É também colorido:)

export PS1="\e[0;35m[\u@\e[0;33s\h\e[0;35m \w] \e[m \n[\W]\$ "

Qual seria a saída

[myuser@myserver /home/myuser]
[myuser]$ 

Salve a linha em ~/.bashrc , ~/.bash_profile ou /etc/profile para torná-la persistente.

    
por 16.07.2012 / 18:55
2

Dentro do '$ WORKON_HOME / postactivate':

case $(basename "$VIRTUAL_ENV") in
    pytutorial) VENV="pyt";;
    *) VENV="$(basename "$VIRTUAL_ENV")";;
esac
PS1="($VENV)$_OLD_VIRTUAL_PS1"

Dentro do '$ HOME / .bashrc':

PS1="\u:\w\$ "

Isso deve produzir a saída exata que você descreveu. Claro que existem diferentes opções. Recomendo vivamente o link , para mais informações sobre este tópico.

O arquivo 'post_activate' é executado durante a inicialização virtualenv. A instrução case permite substituir um nome por outro.

Outras considerações:

Pessoalmente, faço PS1=$_OLD_VIRTUAL_PS1 em '$ WORKON_HOME / postactivate' e uso $(basename "$VIRTUAL_ENV") dentro de meu PS1 .

    
por 28.06.2013 / 06:42
1

Eu gosto de ter meu prompt em uma linha separada para não perder as informações e sempre tenho toda a linha para digitar:

PS1=\u@\h\ \w\n\$\ 
    
por 25.12.2011 / 22:07