Obtém o usuário logado em um determinado tty

1

Estou escrevendo um script bash que desconecta sessões ociosas, mas grava no tty alguns segundos antes de terminá-lo para ter certeza de que realmente não está sendo usado.

O formato para write é write user [tty] .

Estou começando com uma string tty, ou seja, "pts / 1".

Eu sei que posso encontrar o usuário ao lado do nome tty em "who" e "w", mas não tenho certeza de como colocar o nome de usuário (ou seja, john) em uma variável. Isso exigiria um regex? Eu estava originalmente procurando por um único comando, mas who e w não têm essas opções em sua documentação.

    
por server_kitten 14.12.2014 / 17:31

1 resposta

0

Isso deve funcionar. Usa stat para extrair o nome de usuário do dono do pseudo-tty. Aqui, $pts deve estar no formato da pergunta, por exemplo. %código%.

tty_user=$(stat -c%U /dev/$pts)
    
por 15.12.2014 / 04:41