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.


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)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.