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