答え1
出力の解析w
たぶんそれより良いかもしれません。who
。ログイン時間を示す代表的なデータは次のとおりです。
$ who
tom pts/1 2015-11-15 06:39 (michener:S.0)
$ w
06:40:10 up 1:04, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tom pts/1 michener:S.0 06:39 2.00s 0.03s 0.00s w
これらはそれよりも優れていますfinger
。これは教室の練習なので、データの解析作業はOPに任せられます。ヒントとして、awkはフィールドを1行以上で印刷できます。
w
BEGIN
通常、awkスクリプトに行番号またはステータスを設定するセクションを含めることで、出力を処理できます。- その後、各行のデフォルトの動作(パターンなしで中括弧のみを使用)は、行番号を増やすことです。
- 行番号を使用して最初の行を具体的に処理します(この場合はスキップ:OP)。可能タイトルのユーザー数を報告する必要がありますが、OPの例では使用されません)を含む行をスキップします
USER
。 - その後、OPの必要に応じて各行を印刷できます。
awk
これ以上データがない場合は終了します。これを行うためにユーザーの数を知る必要はありません。
OPに通知された場合使用 who
には、追加情報を一覧表示するオプションがあります。たとえば、次のようになります。
$ who -l -u
LOGIN tty5 2015-11-15 05:36 3670 id=5
LOGIN tty6 2015-11-15 05:36 3671 id=6
LOGIN tty4 2015-11-15 05:36 3669 id=4
LOGIN tty3 2015-11-15 05:36 3668 id=3
LOGIN tty2 2015-11-15 05:36 3667 id=2
LOGIN tty1 2015-11-15 05:36 3666 id=1
tom pts/1 2015-11-15 06:39 00:06 5780 (michener:S.0)
tom pts/2 2015-11-15 06:52 . 6078 (michener:S.1)
端末名とログイン回数が再表示されます。
答え2
Bashスクリプトは必要ありません。指コマンドを使用できます。ログインしたすべてのユーザーに関する完全な情報を提供します。
端末を開き、指を入力するだけです。あなたはあなたが必要とするものを得るでしょう。指で何ができるかもっと知りたいならここを読んでください