Como imprimir o último horário de login?

4

Gostaria de saber como definir o arquivo .bashrc para imprimir o último horário de login dos usuários ao fazer login em outro usuário no terminal. Eu sei que com who ou last , mas eu gostaria de algo um pouco mais personalizável que pode ser formatado e só é executado uma vez por login, de preferência para mostrar em um formato como esse;

last login time [ 2015-02-13 @ 3:50:00 AM ]
user@host /path/dir/here $

que é impresso na tela do terminal antes do prompt do bash e, se possível, para definir e formatar a cor na data e hora. Como posso conseguir isso para personalizar a saída de prompt do bash?

    
por Rui F Ribeiro 12.02.2015 / 17:57

2 respostas

3

(Apenas como uma diretriz, o formato não é exatamente o mesmo):

ll=$(last -1 -R  $USER | head -1 | cut -c 20-)
export PS1="last login time [$ll]"'\n\h:\W\$ '

Edit: se você quiser que last informação seja impressa apenas uma vez (idéia sábia)

ll=$(last -1 -R  $USER | head -1 | cut -c 20-)
echo "last login time [$ll]"    # adjust to your login messages, fortunes, etc
export PS1='\n\h:\W\$ '         # replace by your favorite prompt
    
por 12.02.2015 / 18:22
0

Tente colocar a seguinte linha no seu arquivo / etc / profile ...

echo "your last login:  'last -1 -R $USER' "

Isso limitará os resultados a uma linha e informará o último login do usuário durante o processo de login. Depois disso, ele não ocorrerá novamente até o próximo login.

    
por 29.11.2018 / 20:01