获取login用户列表的脚本

我正在编写一个Shell脚本来获取已login用户的列表,我想显示一个像这样的列表:

The user AAA is on tty3 The user BBB is on pts/0 

这是我迄今为止写的:

 echo "The user " | who | awk -F ' ' '{print $1}' | echo " is on " | who | awk -F ' ' '{print $2}' 

但在只显示第二列,我得到这个:

 tty3 pts/0 

尝试在单个awk语句中执行此操作:

 who | awk '{print "The user " $1 " is on " $2}' 

通过做这么多的管道,你发送第一个输入作为另一个输出。 因此,你正在失去以前的数据,最后只有who | awk '{print $2}'的输出 who | awk '{print $2}'出来了。

上次使用者

 last | cut -d " " -f 1 | sort | uniq 

上次用户详细

last | uniq | column

谁登录(仅用户名)

 who | cut -d' ' -f1 | sort | uniq 

短谁列

  who -su | sort | uniq | column