Shell脚本——显示系统上的登录用户数

写一个脚本showlogged.sh,其用法格式为:

showlogged.sh -v -c -h|--help

其中,-h选项只能单独使用,用于显示帮助信息;-c选项时,显示当前系统上登录的所有用户数;如果同时使用了-v选项,则既显示同时登录的用户数,又显示登录的用户的相关信息;如

Logged users: 3.
They are:
root tty1 2019-08-14 20:29
root pts/0 2019-08-15 18:43 (172.22.41.56)
root pts/1 2019-08-15 19:28 (172.22.41.56

#!/bin/bash
#
DEBUG=0
COUNT=0

for i in `seq 0 $#`;do
  if [ $# -gt 0 ];then
    case $1 in 
      -v)
        DEBUG=1
    shift
    ;;
      -h|--help)
        echo "Usage: `basename $0` -v -c -h|--help"
    exit 0
    ;;
      -c)
        COUNT=1
    shift
    ;;
      *)
        echo "Usage: `basename $0` -v -c -h|--help"
    exit 7
    ;;
    esac
  fi
done

if [ $COUNT -eq 1 ];then
  #USER_NUM=`w | grep "load average" | cut -d' ' -f8 | grep [[:digit:]]`
  #USER_NUM=`who | wc -l`
  USER_NUM=`w | head -1 | cut -d' ' -f8`
  if [ $DEBUG -eq 1 ];then
    echo "Logged users: $USER_NUM. "
    echo "They are:"
    #w | tail -$USER_NUM
    who
  else
    echo "Logged users: $USER_NUM. "
  fi
fi
原文地址:https://www.cnblogs.com/ElegantSmile/p/11360248.html