当前位置:  技术问答>linux和unix

求救SHELL的问题,SHELL高手帮忙多谢了

    来源: 互联网  发布时间:2017-01-25

    本文导语:  日期存放在文件A中(只存放日期20111201) 我想读取A文件的的日期,然后和系统时间(20111215)比较,当前日期和存放在A文件的日子进行比较,得到相减的结果我就循环几次 循环的过程 执行 test_boot 20111201~20111215 循环...

日期存放在文件A中(只存放日期20111201)
我想读取A文件的的日期,然后和系统时间(20111215)比较,当前日期和存放在A文件的日子进行比较,得到相减的结果我就循环几次
循环的过程 执行
test_boot 20111201~20111215

循环执行成功后把当前日期写到A 文件中

我不熟悉SHELL ,还请各位帮忙多谢了

|

# cat A
20111201
20111202
# cat a.sh 
#!/bin/bash
today=`date +%Y%m%d`
for time in `cat A`
do
 i=`expr $today - $time`
 if [ $i -gt 0 ];then
  while [ $i -gt 0 ]
  do
   echo $i
   ((i--))
  done
 echo --------- $time done ----------
 fi
done
#sh a.sh 
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
--------- 20111201 done ----------
14
13
12
11
10
9
8
7
6
5
4
3
2
1
--------- 20111202 done ----------

如果没理解错,是这样吧

|

#!/bin/bash
today=`date +%Y%m%d`
for time in `cat A`
do
 i=`expr $today - $time`
  while [ $i -gt 0 ]
  do
   echo $i #这里改成你的SHELL_PROC $time
   ((i--))
  done
 echo --------- $time done ----------
done

发现if多余了点

|
楼上的没理解楼主的意图 "#这里改成你的SHELL_PROC $time” 这里楼主的意思是循环执行从$time到$today中间的每一天 而且`expr $today - $time` 只有当月才能那么减吧

我按照我在5楼的想法写了一个,跟楼主的流程不一样,但是可以得到楼主想要的结果


#!/bin/sh

next_day()
{
nowday=$1
yy=`echo $nowday|cut -c 1-4`
mm=`echo $nowday|cut -c 5-6`
dd=`echo $nowday|cut -c 7-8`
date=`cal $mm $yy`
days=`echo $date|awk '{print $NF}'`

if [ $dd -eq $days ]; then
dd=01
mm=`expr $mm + 1`
[ $mm -ge 13 ] && mm=01 && yy=`expr $yy + 1`
nextday=$yy$mm$dd
else
nextday=`expr $nowday + 1`
fi
}
today=`date +%Y%m%d`

while read line
do
    echo "---循环 $line~$today ---"
        
    dealdate=$line
    
    while [ $dealdate -le $today ]
    do
     echo "SHELL_PROC $dealdate"
     next_day $dealdate
     dealdate=$nextday
    done
    
done

    
 
 

您可能感兴趣的文章:

  • 求救!makefile 中shell函数
  • shell函数求救
  • Linux下关于shell程序的源代码如何获取?50分求救!
  • 紧急求救!!!!如何在shell脚本中,执行对mysql的操作
  • shell求救!!急急,明天交作业。
  • shell求救:获取一个文件夹下的所有文件,判断其大小
  • 紧急求救:shell 实现定时执行
  • 十万火急,求救一个shell script问题
  • 求救!shell脚本的编写
  • 高分求救!怎样把shell脚本通过SQL语句查询的结果写到一个文件中?
  • RH 9启动遭遇到不明shell,求救!!
  • Shell Script 发生 "arg list too long" 的问题,求救!
  • 紧急求救:用过eclipse或者cvs的请进来看一下,多谢个位,在线等候
  • Linux菜虫求救!!!多谢!!
  • 紧急求救,请问为何一直出错?ShowContent.java:7: 缺少返回语句 },这是为什么?多谢了!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求救!求救!紧急求救!为什么更新不了所指定的内容?
  • 求救!!!硬件高请进、、、、、、(十万火急,高分求救。)
  • 求救求救!!
  • 求救啊 高分求救 UNIX下关于进程通讯的问题~
  • 求救!!!求救!!!机器不能正常启动
  • 关于jdbc,求救求救!在线等待,马上给分
  • 紧急求救,root用户无权限删除文件
  • 晕,特晕...求救...
  • 高分求救~~如何取得linux下进程完整命令行字符串,就是的ps -ef 完整的全路径的CMD那一列,求救!!!!附现在的代码
  • 求救!weblogic6.0后台运行正确,前台页面跳转或调用其他页面时出“页面无法显示错误”
  • 求救:java里如何取整一个浮点数(不做四舍五入)
  • 紧急求救!!
  • 十万火急,求救一个shell script问题 iis7站长之家
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题 (分不够可加)
  • 紧急求救 我用freebsd通过smbfs连接win2000的一些问题
  • 求救,linux和windows之间如何联成局域网(设置),并且相互之间移动文件。
  • 求救!!在Redhat7.3下安装scim0.9.3怎么安装?
  • Linux8.0 修改字符集后,再次进系统,无图形界面问题。。。求救。。
  • SUSE网络打印机问题,在线等,求救!!
  • 散分一百,紧急求救!ROOT密码忘记


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3