求一shell脚本的注解
[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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论