Zalogować użytkownika do danego tty

1

Piszę skrypt basha, który rozłącza bezczynne sesje, ale zapisuje do tty kilka sekund przed jego zakończeniem, aby upewnić się, że naprawdę nie jest używany.

Format dla write jest write user [tty].

Zaczynam od ciągu tty, tj. „Pts / 1”.

Wiem, że mogę znaleźć użytkownika obok nazwy tty w „who” i „w”, ale nie jestem pewien, jak umieścić nazwę użytkownika (tj. Jana) w zmiennej. Czy wymagałoby to wyrażenia regularnego? Początkowo szukałem pojedynczego polecenia, ale who i w nie ma takich opcji w swojej dokumentacji.

server_kitten
źródło
ttys=$(who | awk '{print $2}'); echo $ttys
Cyrus

Odpowiedzi:

0

To powinno działać. To używa stat wyodrębnić nazwę użytkownika właściciela pseudo-tty. Tutaj, $pts powinien być w formacie w pytaniu, np. pts/2.

tty_user=$(stat -c%U /dev/$pts)
rici
źródło