システムにログインしているユーザーを判別し、次のような出力を生成する bash プログラム「getuserinfo」を作成する必要があります。
名前: Paul Beliveau ユーザー ID: csi2300100 開始: 17:05 2013-09-17
名前: Bob Dangelo ユーザー ID: csi2300133 開始: 09:12 2013-09-16
名前: David Pease ユーザー ID: csi2300141 開始: 11:34 2013-09- 17
名前: リー パトリック ユーザーID: csi2300148 開始: 14:29 2013-09-17
現在、私が持っているのは次のとおりです。
#!/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 でループする方法を見つけることができました。私の計画は、変数 name、userID、および start に値を格納し、ループを実行するたびにそれらを出力することでした。私の現在の問題は、名前を変数として取得し、who コマンドから開始時間を短縮する方法を見つけることです。