我需要编写一个 bash 程序“getuserinfo”来确定登录到系统的用户并产生如下输出:
名称:Paul Beliveau 用户 ID:csi2300100 开始:2013-09-17 17:05
名称:Bob Dangelo 用户 ID:csi2300133 开始:09:12 2013-09-16
名称:David Pease 用户 ID:csi2300141 开始:11:34 2013-09- 17
姓名:Lee Patrick 用户 ID:csi2300148 开始时间:2013-09-17 14:29
目前我所拥有的只有以下内容:
#!/bin/bash
for person in $(who | cut -f1)
do
ID=$person
name=grep $ID /etc/passwd | cut -d':' -f5 #causes error
start= #Not sure what to do here
echo "Name: $name userID: $ID start: $start"
done
exit 0
我知道这远非正确,但到目前为止,我能够成功地做的就是找到一种方法,通过他们的用户 ID 循环访问系统中的用户。我的计划是将值存储在变量名称、用户 ID 中,然后开始,然后在每次循环运行时打印它们。我当前的问题是将名称作为变量获取,并找到一种方法来减少 who 命令的开始时间。