作者:javalee 代码:
[/home/javalee/myshell]cat logtime #!/bin/ksh #这是一个查询用户登录系统总时间的脚本 # #脚本开始 (($#>0))&&{ echo "Usage:$(basename $0) [Enter]";exit 1; } read name?"input username:" if ! grep -q "\<$name\>" /etc/passwd;then echo "No Found User:$1!" exit fi #定义_do函数 function _do { last $name|sed -n '2,$p'|sed 's/ \(([0-2][0-2]:[0-5][0-9])\)/#\1/g;s/(//g;s/)//g'|cut -f2 -d"#"|\ awk -F: '{sum1+=$1;sum2+=$2};END{print sum1,sum2}' } # #生成小时和分钟的变量 HH=$(_do|cut -f1 -d" ") MM=$(_do|cut -f2 -d" ") # # #取出小时和分钟 #判断分钟域,如果$MM大于60,那么换算并显示结果 if [[ $MM -gt 60 ]]; then ((m1=$MM/60)) ((m2=$MM%60)) echo "用户$name登录系统总时间:$((m1+$HH))小时$m2分" else echo "用户$name登录系统总时间:$HH小时$MM分" fi # # #脚本结束 |