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
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?
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
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.
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.
Basta digitar o seu terminal nano .bash_profile. Copiar:
export PS1="\u@\h\w: "
Salvar.
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.
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
.
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\$\
Tags command-line bash shell terminal