Uma das minhas dicas favoritas do Terminal do Mac OS X envolve adicionar o último processo em execução ao título do terminal usando o seguinte código no seu .bashrc .
trap 'printf "\033]0; `history 1 | cut -b8-` \007"' DEBUG
Agora, estou procurando personalizar meu prompt do Bash do padrão para algo mais funcional. Quais são alguns exemplos úteis de prompt de shell?
linux
bash
mac-osx
command-line-interface
Dave K
fonte
fonte
Eu tenho um script
~/bin/setprompt
que é executado pelo meu.bashrc
, que contém:Este script define o prompt como o nome do host seguido por
:)
se o último comando foi bem-sucedido e:(
se o último comando falhou.fonte
Este, no entanto, é o mais impressionante que eu já vi:
Experimente. Ele fornece boas informações, mas na verdade fará com que a carga em suas caixas aumente apenas pressionando Enter rapidamente!
fonte
Sou fã do prompt padrão do Cygwin bash:
ou sem cores:
parece:
fonte
Eu gosto de incluir o tempo no meu. Dá-me uma espécie de construído em
time
torno de meus comandos:Embora depois de ver alguns deles, faça-me querer tornar o meu um pouco mais inteligente!
fonte
Aqui está o meu (role para a direita para ver um pouco mais interessante):
Aqui está o resultado:
Quando estou dentro de um repositório Git :
Eu escolho usar várias quebras de linha e a "régua horizontal" para facilitar a verificação de buffers, e os nomes de caminho longos não empurram o cursor muito para a direita.
fonte
Em ksh:
No meu .profile, defino o seguinte var (portanto, esse var é definido apenas uma vez por sessão, não importa quantos sus eu faça:
No meu .kshrc eu tenho:
Tornei-me root com o seguinte alias, em vez de "su" (o kroot é um usuário root com um shell ksh em vez de sh (solaris) ou bash (linux):
Eu também defini essas duas funções:
e finalmente no final de .kshrc eu tenho:
Tudo isso me fornece, por padrão, a configuração automática do final do meu prompt para indicar se sou ou não root (e, por sua vez, se tenho um pai que era root), diretório de trabalho atual, nome do host e status de saída do último processo. sprompt elimina o nome do host, reduz o caminho até o nome da base e remove os espaços:
Os aliases root / me são da administração pré-sudo no Solaris e os velhos hábitos morreram muito. Duvido que alguém possa implementar exatamente a mesma coisa nos dias de hoje. As funções de mudança imediata e o status existente continuam sendo muito valiosas para mim.
fonte
Eu tenho um prompt que é simples, mas usa cores para fornecer algumas informações extras:
A cor do nome do host (drewble, neste caso) é diferente em cada máquina - quando recebo uma nova máquina na qual trabalho, escolho uma cor arbitrária para essa máquina. Dessa forma, quando tenho muitos terminais abertos, é fácil saber em qual máquina eles estão inseridos no SSH e reduz os erros que cometi ao estar na máquina errada. Além disso, quando o faço
sudo -s
, coloco o nome do host em maiúsculas e ponho o vermelho em dois pontos, novamente, isso reduz os erros, deixando claro que você está agindo como raiz. O caminho (meu diretório pessoal,~
neste caso) está em verde brilhante, o que ajuda a separar linhas de saída; se algo cria muita saída, é fácil rolar para cima e ver onde a saída começou.fonte
Não é um prompt de shell, mas é uma personalização que pode se encaixar no espírito do que você está perguntando.
Defino a seguinte variável de ambiente:
Dessa forma, se eu tiver vários terminais abertos via tela ou qualquer outra coisa, não perderei a história quando eles tropeçarem nas mudanças dos outros.
fonte
Isso exibe:
Com 'hostname' em verde se o último código de retorno do comando executado for '0' e vermelho se for> '0'.
fonte
Semelhante à resposta do caos , eu meio que gosto
o que me dá
Ao incluir o usuário / host na primeira linha, posso copiar facilmente toda a linha do caminho quando estiver usando o SCP ou rsync para enviar alguns arquivos para esse diretório.
fonte
Para bash eu gosto
PS1 = "\ h \ d \ t \ w \ n \ u>"
o que resulta em:
myserver Seg Set 07 07:43:11 / u08
root>
Assim, você obtém o nome do host, a data e a hora, o caminho completo e o nome de usuário em uma nova linha, com o prompt. Isso é para minimizar a quebra de linha nos diretórios. Estou dentro e fora das caixas o dia todo, então tudo o que posso fazer para mantê-lo reto é bom. Eu também tenho o putty definido para registrar tudo. Posso voltar e olhar os logs e ver exatamente o que estava fazendo quando. Também é útil para descobrir sequências de eventos em várias janelas do terminal ao mesmo tempo.
fonte
Meu prompt normal é
Isso me fornece o usuário atual, o diretório atual do host atual ( sem substituir $ HOME por ~), a
screen
janela atual e o último retorno de erro. Como normalmente tenho 16 ou mais janelas de tela abertas, saber que a atual é útil.fonte
Meu prompt do zsh:
Normalmente, é vermelho e branco com o diretório atual em rosa. Se o root for cinza escuro, com o nome do host em vermelho. Se
$?
não for 0, o% final será mostrado em vermelho.fonte