LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 847|回复: 8

能自己写一条命令吗?

[复制链接]
发表于 2004-4-29 12:37:18 | 显示全部楼层 |阅读模式
chk -u user
if the user exists on the system, report
. the path to the user's  home directory
. when the user last logged in OR if the user is currently logged in
发表于 2004-4-29 12:41:00 | 显示全部楼层
自己编写脚本吧。

1.查询/etc/passwd文件即可得知是否有该用户,若有,获取其主目录
2.分析系统日志便可得知该用户最后登录时间

这样都可用awk轻易实现。兄弟不妨试试看。
 楼主| 发表于 2004-4-29 12:53:10 | 显示全部楼层
最初由 home_king 发表
自己编写脚本吧。

1.查询/etc/passwd文件即可得知是否有该用户,若有,获取其主目录
2.分析系统日志便可得知该用户最后登录时间

这样都可用awk轻易实现。兄弟不妨试试看。


用awk轻容实现? 佬兄,能写出看看吗?我对awk 不是很熟,想学习一下,行吗?
发表于 2004-4-29 12:58:55 | 显示全部楼层
最初由 shaoping 发表
用awk轻容实现? 佬兄,能写出看看吗?我对awk 不是很熟,想学习一下,行吗?

鉴于工作,我暂时没有Linux系统。

我打个比如吧。
比如$HOME处于第4域,用户名处于第1域。

  1. #!/bin/sh
  2. awk -F: '$1==usr{print $4}' "usr=$1" /etc/passwd
复制代码


至于分析日志,大同小异。
请先参阅精华帖子关于awk的教程。
 楼主| 发表于 2004-4-29 13:03:55 | 显示全部楼层
比如$HOME处于第4域,用户名处于第1域。

请问第4域,第1域是什么意思?
发表于 2004-4-29 13:06:55 | 显示全部楼层
最初由 shaoping 发表
比如$HOME处于第4域,用户名处于第1域。

请问第4域,第1域是什么意思?

晕~~~~

  1. [color=green]root[/color]:x:x:[color=red]/root[/color]:/bin/bash
  2.          
  3. root----field1(第一域)     
  4. /root------field2(第四域)
复制代码
发表于 2004-4-29 13:10:22 | 显示全部楼层
 楼主| 发表于 2004-4-29 13:13:35 | 显示全部楼层
ok. thank u

那怎样可以用那源码同这 chk -u user command 连接起来用?
发表于 2004-4-29 13:19:25 | 显示全部楼层
getopts

最后说一句,关于基础知识,请先参阅置顶贴,比如我以前写的dellink脚本就是一个教学范例:
[php]
...
while getopts ":fch" opt; do
        case $opt in
                f  ) INTERACTIVE="f"
                     promptdel;;
                c  ) DEPTH="maxdepth 1";;
                h  ) prompthelp
                     exit 0;;
                ? ) echo "Invalid Option!"
                     prompthelp
                     exit 1
        esac
done
...
[/php]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表