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
Odpowiedzi:
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
.źródło