Bash: imprimir timestamp invisível no PS1

0

Meu PS1 atual é assim:

╭dotfiles
╰(ivan)•

Eu gostaria de adicionar um registro de data e hora invisível a ele, para que eu possa selecionar / destacar com o cursor quando eu quiser ver a hora em que um comando foi executado, mas não confundir minha exibição normal.

╭dotfiles 10:24:01
╰(ivan)•

Agora eu tenho:

PS1='╭3[1m\W3[0m\n╰(\u)• '

Supondo que minha cor de segundo plano seja preta, eu poderia usar o código de cor ANSI para preto ( 3[0;30m ) para imprimir o timestamp de forma invisível:

PS1='╭3[1m\W3[0m 3[0;30m\t3[0m\n╰(\u)• '

Mas meu background nem sempre é preto - eu tenho alguns esquemas de cores que eu alterno entre eles.

Idealmente, eu gostaria de pegar dinamicamente a cor de fundo do terminal, mas isso é possível / viável? Ou talvez haja outra abordagem que eu possa tomar?

Editar

Foi corretamente apontado que os códigos de cores ANSI devem ser colocados entre \[ e \] . Então as configurações acima devem ser:

PS1='╭\[3[1m\]\W\[3[0m\]\n╰(\u)• '

e

PS1='╭\[3[1m\]\W\[3[0m\] \[3[0;30m\]\t\[3[0m\]\n╰(\u)• '
    
por ivan 24.02.2018 / 16:55

0 respostas