Adicione esta linha ao arquivo ~/.bashrc
:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Assim, a saída será algo como:
[07:00:31] user@name:~$
Eu queria saber se era possível adicionar carimbos de hora a prompts de terminal e, em caso afirmativo, como conseguir isso?
Adicione esta linha ao arquivo ~/.bashrc
:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Assim, a saída será algo como:
[07:00:31] user@name:~$
Minha solução foi usar link para gerar essa linha PS1 para colocar em .bashrc:
export PS1="\t [\u@\h \W]\$ \[$(tput sgr0)\]"
Qual será a aparência
13:05:54 [chad@work-laptop:~/Downloads]$ ls -al
Usar o PROMPT_COMMAND atrapalha o histórico para mim. Quando uma linha mais longa aparece ao percorrer o histórico, ela corta o final do prompt com o mesmo número de caracteres que o timestamp que foi adicionado à frente. por exemplo.
13:14:38 [chad@work-laptop:~/Doexport PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\] "
E essa linha não pode ser editada porque não exibe os caracteres no lugar certo, pois você não está digitando onde parece que está digitando.
Suponho que isso poderia ser feito com PROMPT_COMMAND, talvez usando essa parte [$ (tput sgr0)], mas o PS1 funciona.
Em vez de adicionar a data ao próprio prompt, você pode adicionar a data pouco antes ao seu prompt, colocando a seguinte linha no topo do seu .bashrc
. Para o trabalho, você também precisará instalar o cowsay
. É uma maneira divertida de exibir a data, mantendo um prompt curto :
cowsay "Welcome $USER! It's now $(date '+%A %B %d %Y %r')"
Na sua forma atual, ele funcionará no sistema de qualquer pessoa sem alterações, pois ele lê as variáveis $USER
e date
do ambiente atual.
Desde que eu não tenho pontos de reputação suficientes para adicionar um comentário à resposta para melhorá-lo. Parece que a única maneira de adicionar informações é criar uma segunda resposta. Então, vou repetir o que foi dito como a resposta e construir sobre isso.
Edite o arquivo .bashrc para o usuário para o qual deseja que o carimbo de data seja modificado.
Se você vir "usuário @ host: ~ $", você está no diretório pessoal do usuário atual. O arquivo .bashrc é um arquivo oculto, já que é prefixado com o ponto ".". Para vê-lo em uma lista, você precisará usar uma longa lista.
Você pode usar "ls -a" e então deverá ver o arquivo ".bashrc".
Edite o arquivo com um editor de texto. Por exemplo, "nano .bashrc", "vim .bashrc", "vi .bashrc", "pico .bashrc" ou qualquer outro editor que você deseje usar.
Se você quiser fazer um script disso e planeja adicioná-lo a muitos shells para muitos usuários, pode ser benéfico usar o comando "echo" em conjunto com o append "> >" operador. Por exemplo,
echo "export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\"" >> .bashrc
Se você usar esse método, certifique-se de estar no diretório de trabalho atual do usuário para o qual deseja modificá-lo. Para verificar isso, você pode usar o comando "pwd" ou imprimir o diretório de trabalho.
Se você não gostar do espaço extra entre o colchete "]" e o nome de usuário, use apenas este regex ligeiramente modificado:
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\"
Use isso se você estiver editando diretamente o arquivo.
export PROMPT_COMMAND=date
imprime a data antes de emitir cada solicitação.
Abra seu .bashrc
via
vim ~/.bashrc
e adicione o seguinte a .bashrc
:
#PS1="[\A \u@\h \W\a]$"
onde \A
é para o tempo ( \W
para somente o final do caminho, remova se desejar o caminho do diretório de trabalho inteiro).
Então digite
source ~/.bashrc
Você verá algo assim:
[16:04 trwood@cobalt04 ~/MCEq_dev]$
Apenas para adicionar a resposta do @ devav2:
Um comando echo mais fácil de ler para iniciantes seria:
export PROMPT_COMMAND='echo -n "$(date +%H:%M:%S) "'
Em vez de
export PROMPT_COMMAND="echo -n \[\$(date +%H:%M:%S)\]\ "
Como o comando echo não deve ser avaliado no momento da exportação, faz mais sentido usar aspas simples para aspas literais em vez de aspas duplas. Usando aspas simples para citar o comando inteiro, você pode usar aspas duplas para citar o argumento para o comando echo, eliminando a necessidade de escapar de caracteres especiais como ,
[
e $
Tags bash