免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 3919 | 回复: 25
打印 上一主题 下一主题

为什么这个文件会莫名其妙的变为空? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-09 13:20 |只看该作者 |倒序浏览
我的程序的一段断码如下:

c_time=$(perl -e 'print time')

if [[ -e /appl/OA_LAST_PROCESS_TIME ]]
then
    last_oai_xml_process_time=$(cat /appl/OA_LAST_PROCESS_TIME)
else
    #first time run
    echo $c_time>/appl/OA_LAST_PROCESS_TIME
    last_oai_xml_process_time=0
fi

fcount=$( ls ${oa_arrival}/OAI*.xml 2>/dev/null | wc -l 2>/dev/null)

if [[ $fcount -eq 0 ]]
then
#no oai file, maybe empty or only full file.
    if [[ "$(($c_time-$last_oai_xml_process_time))" -lt "${oai_interval}" ]]
    then
        echo interval not meet, no oai processing
    else
        /appl/dispatch_oa_file.ksh
        echo $c_time>/appl/OA_LAST_PROCESS_TIME
    fi
else
#oai file found, ignore interval check
    /appl/dispatch_oa_file.ksh
    echo $c_time>/appl/OA_LAST_PROCESS_TIME
fi

OA_LAST_PROCESS_TIME是个文件,照理说应该不会存在这个文件为空(size=0)的情况。但是最近出现过好几次了,导致后续逻辑出问题。
但是按照以上的逻辑,这个文件要么不存在,要么存在且记录时间,应该不会出现为空的情况,开始怀疑是人为修改的,但是发生过好几次了,排除了这个情况。

有人帮忙分析下什么情况下这个文件为空么?谢谢

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
2 [报告]
发表于 2012-04-09 14:03 |只看该作者
echo $c_time>/appl/OA_LAST_PROCESS_TIME
echo $c_time >/appl/OA_LAST_PROCESS_TIME
请对比

论坛徽章:
0
3 [报告]
发表于 2012-04-09 14:10 |只看该作者
waker 发表于 2012-04-09 14:03
echo $c_time>/appl/OA_LAST_PROCESS_TIME
echo $c_time >/appl/OA_LAST_PROCESS_TIME
请对比


>前多了一个空格么?这个有什么影响吗?效果一样吧?!

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
4 [报告]
发表于 2012-04-09 14:11 |只看该作者
有影响 不一样

论坛徽章:
0
5 [报告]
发表于 2012-04-09 14:16 |只看该作者
回复 2# waker

1. 我那段代码里没有' >'这样的
2. 我试了,你说的两者效果一样

   

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
6 [报告]
发表于 2012-04-09 14:27 |只看该作者
>>>1. 我那段代码里没有' >'这样的
所以你的代码错了
>>>2. 我试了,你说的两者效果一样
那就再试 你试了 echo abc>file 是一样的 echo 123>file也是一样的吗?



那咱们就从你的代码里找个例子吧

wc -l 2>/dev/null
请问这里的2是什么意思
如果$c_time是个数值echo $c_time>/appl/OA_LAST_PROCESS_TIME是什么意思?

论坛徽章:
0
7 [报告]
发表于 2012-04-09 14:50 |只看该作者
回复 6# waker


多谢老大帮我分析。

c_time=$(perl -e 'print time')执行结果的值是个数字,比如1333954070

但是
echo $c_time>/appl/OA_LAST_PROCESS_TIME

echo $c_time >/appl/OA_LAST_PROCESS_TIME
有区别我还真没看出来啊。下边是我的测试:

/opt> c_time=$(perl -e 'print time')
/opt> echo $c_time>file
/opt> echo $c_time >file2
/opt> diff file file2
/opt>

   

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
8 [报告]
发表于 2012-04-09 15:00 |只看该作者
回复 7# WinnerBoy

echo 2>file
echo 2 >file2
   

论坛徽章:
0
9 [报告]
发表于 2012-04-09 15:03 |只看该作者
回复 8# waker


但是那个c_time不可能是2啊

   

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
10 [报告]
发表于 2012-04-09 15:07 |只看该作者
WinnerBoy 发表于 2012-04-09 15:03
回复 8# waker


echo 3>file
echo 3 >file2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP