LinuxSir.cn,穿越时空的Linuxsir!

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

大虾们帮忙看下这个脚本啥问题啊

[复制链接]
发表于 2008-4-16 14:06:17 | 显示全部楼层 |阅读模式
################################Start Script#######################################
#clearlog.sh:清空log文件的脚本
################################Start Script#######################################
#!/bin/bash

#  Warning:
#  执行此脚本将清空cin/log目录下所有log文件  
LOG_DIR=$HOME/cin/log

E_XCD=66      


cd $LOG_DIR

# 在处理log file之前,再确认一遍当前目录是否正确.
if [ `pwd` != "$LOG_DIR" ]  # 或者    if[ "$PWD" != "$LOG_DIR" ]                     
then
  echo "进入目录 $LOG_DIR失败!"
  exit $E_XCD
fi  
#删除log按时间备份文件
rm -rf *[0-9][0-9][0-9][0-9]
echo "删除按时间备份log文件成功!"

#读取cin/log下的日志文件,开始清除
for i in `ls *.log  *.[0-9] *.sdf MANINFO`
do
var1=`cat $i |wc -l` #计算文件的行数
mv $i $i.$$
sed -e '1,'$var1'd' $i.$$>$i   #删除1至var1之间的行
rm $i.$$
echo "清空日志成功!">>$i  
date >>$i
echo "清空$i成功!"
done

exit 0
################################End Script#########################################

这个脚本是用于清除log文件夹下的文件的,文件夹下文件名类似于这些:log.sdf.200804151617
log.sdf

SRF.INFO.0

SRF.INFO.0.200804131457
想删除掉这些后缀为时间但保留SRF.INFO.0,这个脚本rm语句删除根本没有起作用,而且后面的清空log.sdf这个文件也没能清空掉,实在是分析不出来有啥原因了
 楼主| 发表于 2008-4-16 15:22:49 | 显示全部楼层
已经解决了。。。是我粗心看错目录了。。。寒,大家鄙视我吧:(
回复 支持 反对

使用道具 举报

发表于 2008-4-23 23:18:27 | 显示全部楼层
rm $i.$$
这个是什么意思?
回复 支持 反对

使用道具 举报

发表于 2008-4-24 10:25:30 | 显示全部楼层
$$表示当前进程ID
这个命令应该是删除一个脚本创建的临时文件
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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