首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

shell中的while,该如何处理

2012-04-03 
shell中的whileJava code#!/bin/csh -f##############################################手工设置变量#####

shell中的while

Java code
#!/bin/csh -f##############################################             手工设置变量            ############################################### 删除还是备份 0是备份,1是删除setenv OPERATE_TYPE 0# 备份天数或者删除天数例如30代表备份30天后的数据或者是删除30后的数据setenv BCK_LOGS_DAYS 30# 设置日志保存路径setenv BCK_LOGS_ROOT /home/public/temp/logstemp# setenv BCK_LOGS_ROOT ~/bin/logs# 设置日志保存文件夹setenv  mkdirdate `date +%Y-%m-%d`##############################################           程序运行日志备份          ############################################### 切换工作路径set bl_path="`dirname $0`"cd $bl_path# 得到相比较时间set now_time="date -d '-30 day' +%Y-%m-%d"echo "得到相比较的时间" # 备份操作if ($OPERATE_TYPE  == 0) thenecho "得到操作类型" # 创建临时文件,记录符合条件的日志名称touch temps.logecho "成功创建临时文件"  # 记录文件名到文件  ls  |awk '/.log./' > temps.logecho "成功写入文件" #读记录while read linedo echo "成功读取文件名称"                    file_name=`${line}##*.`      echo "成功文件名称中的日期"             if [ $file_name < now_time ]        then                  # 判断文件夹是否存在,存在直接备份,不存在则创建                if [ !-d $BCK_LOGS_ROOT/$file_name ]            then            mkdir -p $BCK_LOGS_ROOT/${line}            echo "成功创建文件夹"           fi           #打包文件            tar -zcvf ${line}.tar  ${line}                           mv ${line}.tar ${BCK_LOGS_ROOT}/${file_name}            echo "成功备份到指定文件夹"             # 删除已压缩备份的日志文件            rm -f ${line}                echo "成功删除已经备份的文件"             echo "拷贝任务完成!"                       else                end              fi                done < temps.log# 删除临时文件rm -f  temps.log    fi# 删除操作if ($OPERATE_TYPE = 1) then        while read linedo     echo                   file_name=`${line}##*.`      if [ $file_name < now_time ]        then           rm -f ${line}                  else               end              fi                done < temps.log# 删除临时文件rm -f  temps.log     endif


请高手指点下,这个是我第一次些shell。
我的while语句不对,请问应该如何写。

[解决办法]
c shell?
用这种循环。
Python code
set lines=`cat /etc/passwd`set i=1while ( $i <= $#lines )    echo $lines[$i]    @ i = $i + 1end 

热点排行