求一shell脚本的注解

发布于 2022-10-15 07:52:17 字数 4889 浏览 17 评论 0

[i=s] 本帖最后由 appletan 于 2011-05-05 10:44 编辑 [/i]

有一个脚本内容如下,请高手帮忙解释下此shell脚本实现的功能是?
是配在root的crontab里定时执行的

file1="/etc/passwd"
file_out="/tmp/userlist"

cat $file1 | while read line; do
        username=`echo $line | awk -F: '{print $1}'`
        homedir=`echo $line | awk -F: '{print $6}'`
        logincmd=`echo $line | awk -F: '{print $7}'`

        # Set the first guess, depends on the platform
        # Test if the account can really login
        canlogin=

        if [ "$logincmd" = "/bin/bash" ]
        then
                canlogin=1
                filename='/.bash_history'
        fi
        if [ "$logincmd" = "/bin/sh" ]
        then
                canlogin=1
                filename='/.sh_history'
        fi
        if [ "$logincmd" = "/bin/csh" ]
        then
                canlogin=1
                filename='/.sh_history'
        fi
        if [ "$logincmd" = "/bin/ksh" ]
        then
                canlogin=1
                filename='/.sh_history'
        fi

        if [ $canlogin ]
        then
                if [ "$homedir" = "/" ]
                then
                        file2=$filename
                else
                        file2=$homedir"/"$filename
                fi
                if [ -f "$file2" ]
                then
                        cp $file2 /tmp/history
                        echo $username"----------"$file2
                        while read cmd
                        do
                                echo $cmd
                                logger -t "oscmd" "$username:$cmd"
                        done < "/tmp/history"
                        cp -f /dev/null $file2
                else
                   echo "----------"$username" history file doesn't exist---------"
                fi
        else
                echo "----------$username can't login----------"
        fi
done

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文