端末経由でMacのユーザーアカウントのリストを返すには、次のスクリプト行を使用しています。
dscl . list /Users | grep -v '_'
すべてのユーザーアカウントのリストを返すと同時に、最後のログイン情報を一覧表示するためにも必要です。
他に入力できるコマンドが何であるかを調べてみましたが、成功しませんでした。
ユーザーアカウントの最後のログイン情報とともに、Macコンピュータのユーザーアカウントのリストをどのように返しますか?
答え1
ユーザーアカウントを繰り返してlast
コマンドを呼び出すことができます。
以下は小さなスクリプトです。
#!/bin/bash
while read user; do
if ! last -5 "$user" | grep "^$user"; then
printf "$user\tno session found\n"
fi
done < <(dscl . list /Users | grep -v '^_')
last
likeに複数のユーザー名を指定することもできますが、last user1 user2
ユーザーのセッションデータがないと出力を取得できません。
上記のスクリプトでは、オプションは-5
出力を5つ(最も近い)項目に制限し、各行が探しているgrep
ユーザー名で始まることを確認するために使用されます。行が見つからない場合は、no session found
ユーザーに印刷されます。
スクリプトの実行時に管理者権限があることを確認してください。それ以外の場合、出力は空last
です。