专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell脚本欣赏>

查询用户登录总时间shell脚本

百度收藏 QQ搜藏

作者: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
#
#
#脚本结束

上一篇:终止进程的shell脚本 下一篇:拨号计时的shell脚本

power by soyo123 2007-2008