O que é esse plugin do bash?

1

Eu costumava ter este plugin no bash que mostra a hora atual após cada comando que eu digito. Eu adicionei alguns anos atrás, e não me lembro como eu adicionei. Não está listado em plugins terminator. Agora estou mudando para um novo laptop e preciso instalar esse plug-in novamente.

Algum de vocês sabe disso? Obrigado.

    
por Bee 05.05.2016 / 16:30

2 respostas

4

Este script adicionará uma linha pontilhada cinza com a data e a hora no final da linha e, em seguida, ela mudará para vermelho se você for executado como usuário root:

Adicioneasseguinteslinhasàparteinferiordosarquivos/home/<username>/.bashrce/root/.bashrc(OBSERVAÇÃO:/root/.bashrcprecisasereditadocomrecursosraizcomosudogedit/root/.bashrc):

if[-f"$HOME/.bash_ps1" ]; then
    . "$HOME/.bash_ps1"
fi

Copie e cole o seguinte código em um novo arquivo chamado /home/<username>/.bash_ps1 :

# Fill with minuses
# (this is recalculated every time the prompt is shown in function prompt_command):
fill="--- "

reset_style='\[3[00m\]'

# determine if root or not
a=$(id -u)
if [ "$a" = 0 ]
then
    # for root
    status_style=$reset_style'\[3[1;31m\]' # bold red; use 0;37m for lighter color
    command_style=$reset_style'\[3[1;31m\]' # bold red
else
    # for other users
    status_style=$reset_style'\[3[0;90m\]' # gray color; use 0;37m for lighter color
    command_style=$reset_style'\[3[1;29m\]' # bold black
fi
prompt_style=$reset_style

# Prompt variable:

PS1="$status_style"'$fill $(date +"%m/%d/%y ")\t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style "

# Reset color for command output
# (this one is invoked every time before a command is executed):
trap 'echo -ne "3[00m"' DEBUG

function prompt_command {
# create a $fill of all screen width minus the time string and a space:
let fillsize=${COLUMNS}-18
fill=""
while [ "$fillsize" -gt "0" ]
do
    fill="-${fill}" # fill with underscores to work on
    let fillsize=${fillsize}-1
done

# If this is an xterm set the title to user@host:dir
case "$TERM" in
    xterm*|rxvt*)
    bname=$(basename "${PWD/$HOME/~}")
    echo -ne "3]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}
sudo -s
cd /root
ln -s /home/<username>/.bash_ps1
7" ;; *) ;; esac } PROMPT_COMMAND=prompt_command

Em seguida, crie um link na pasta /root para que seja chamado quando mudar para o root user:

if [ -f "$HOME/.bash_ps1" ]; then
    . "$HOME/.bash_ps1"
fi

Afinal de contas é salvo, agora toda vez que você abrir uma nova janela de terminal, ela deverá se parecer com a imagem acima. Os timestamps aparecem depois que você pressiona enter em cada comando que você digita no terminal, facilitando a rolagem para trás e ver quando você executou aquele comando específico.

Espero que isso ajude!

    
por Terrance 06.05.2016 / 08:36
1

Isso pode ser útil. Outra possibilidade pode ser oh-my-zsh.

Eu instalei isso e uso o tema rkj .

É assim que meu terminal parece,

┌─[luvpreet@DHARI-Inspiron-3542] - [~] - [2017-08-28 06:45:20]
└─[0] 

Primeiramente, mostra o usuário atual e o nome do host ( luvpreet@DHARI-Inspiron-3542 ). Em seguida, ele informa ao diretório em que você está ( ~ ). Então a hora atual ( 2017-08-28 06:45:20 ). Em seguida, o código de status do comando anterior que você executou ( 0(successful) ).

Você pode conferir aqui. link  Há muitos outros temas interessantes disponíveis aqui.

    
por luv.preet 28.08.2017 / 15:18