스크립트: 시스템에 로그인한 사용자 수 계산

스크립트: 시스템에 로그인한 사용자 수 계산

다음 스크립트가 있습니다.

#!/bin/bash
#Solution script1

who
date +"Today %d %B, there are $# users logged in onto the system"

user1로그인 tty2하고 로그인 tty3하고 백그라운드 에서 . 그렇다면 대답은 다음과 같아야합니다.rootpts/0tty1

10월 22일 오늘, 2명의 사용자가 시스템에 로그인했습니다.

답변1

다음 출력을 구문 분석하면 됩니다 who.

#!/usr/bin/env bash

num=$(who | sort -uk1,1 | wc -l)
date +"Today %d %B, there are $num users logged in onto the system"

설명하다

sort -uk1,1: -k1,1"첫 번째 필드를 정렬하고오직첫 번째 필드에". 이는 -u"고유하게 정렬된 필드만 인쇄"를 의미합니다. 함께 발견된 각 사용자에 대해 한 줄을 인쇄합니다.

위의 파이프 wc -l를 연결하면 행 수, 즉 고유 사용자 수가 인쇄됩니다. 이것은 -uGNU 확장이지만 date -dGNU 확장도 사용하고 있으므로 도구의 GNU 버전을 사용하고 있다고 가정합니다.

관련 정보