为什么没有第一篇,因为酝酿好久的第一篇在linux下不小心搞丢了,辛辛苦苦地码了一个小时的字。。。但是第一篇会补上的。
夜深人静的时候,是思考的好时候。
面对错误,犯错了不怕,怕的是犯过之后再来一次。失败是成功之母,但前提是得找反省当朋友,改正当丈夫,才能孕育出“成功”(
每个人有每个人的成功)。
今天错误的主题是脑袋热过了。
看代码(代码是工作的内容,这里只是简单地描述过程):
代码主要是执行一个目录下的脚本,同时需要给这个脚本传递一些参数。
1 string shellPath(”/home/test/test.sh“); 2 3 //开始附加参数 4 shellPath += " "; 5 //第一个参数 6 shellPath += "\""; 7 shellPath += firstParamStr; 8 shellPath += "\""; 9 shellPath += " "; 10 11 // 第二个参数 12 shellPath += "\""; 13 shellPath += secondParamStr; 14 shellPath += "\""; 15 shellPath += " "; 16 17 if(existFloder("/home/test_backup/")) 18 { 19 20 remove("/home/test_backup/"); 21 22 } 23 24 // 第三个参数 25 shellPath += "\""; 26 shellPath += thirdParamStr; 27 shellPath += "\""; 28 29 int ret = system(shellPath.c_str());
当检查程序执行结果的时候,不是预想结果。当时已经是五点左右了,干快一下午了,脑袋有些懵了,开始混混沌沌地debug了。打了几个断点,只是发现到"system(shellPath.c_str())"的时候,/home/test/中没有文件了,之后就是这几个断点跳,也没有发现问题。leader(Robin Wen)因为等我完成这个事了,就问我情况,看我一脸苦逼的样子,就来帮我看代码了,单步debug了一下,发现我印象中的:
if(existFloder("/home/test_backup/")) { remove("/home/test_backup"); }
已经改变为:
if(existFloder("/home/test/")) { remove("/home/test"); }
你把东西都删除了,要是执行对就出鬼了,也明白了为什么错误提示是:"找不到相应路径"。这时想起了是我在开始的时候改了这段代码,但在"忘记了".....我已不好意思再说自己了。。。
结论:
1.干活的时候保持脑袋清醒,磨刀不误砍柴工,如果累了,休息休息再来,不要想一会就完了,弄完之后就能回去了。
2.冷静,对于我这种"热血青年",要多注意。
3.不要怕麻烦。。。越怕越多麻烦。
说的都是大道理。希望自己铭记。给大家树立个反面例子,引以为戒。
引以为戒。