Editando meu prompt do Bash

1

Eu gostaria de colocar algo no meu prompt bash, mas não tenho certeza de como fazer isso.

Eu uso a Ferramenta de linha de comando do Cloud Foundry para enviar código para os meus servidores. A ferramenta cf pode ser definida para um ORG específico ou outro, e dentro de cada conjunto para um SPACE específico ('desenvolvimento' ou 'produção', por exemplo).

Atualmente, meu prompt do bash é assim:

~/projects/timer/website
 (bug3) $ 

Na verdade, é muito mais colorido do que:) 'bug3' é um ramo do git, e se eu tivesse feito algum trabalho, haveria até um asterisco 'bug3 *' para denotar meu status de git.

Se eu executar cf target -s production , recebo alguma saída:

API endpoint:   https://api[dot]domain[dot]com (API version: 4.10.1)   
User:           costa[at]domain[dot]com   
Org:            IB   
Space:          Production   

Eu quero receber o prompt do bash com esta aparência:

~/projects/timer/website
 (bug3) IB-Production $ 

Como posso fazer isso?

    
por Costa 23.01.2015 / 05:24

1 resposta

2

Edite seu arquivo ~/.bashrc e adicione isso no final:

function cfinfo(){
  cf target | awk '=="Org:"{printf "%s-", } =="Space:"{print }'
}

Essa função gera a string IB-Production dependendo da saída do comando cf target -s production .

Em seguida, adicione isso após a definição dessa função em ~/.bashrc :

PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w \n $(cfinfo) $ '

Aviso: A parte antes de $(cfinfo) difere no seu caso. No meu exemplo, é apenas o prompt default deban uncolored.

    
por chaos 23.01.2015 / 08:32