bash 错误控制问题
-
- 帖子: 61
- 注册时间: 2010-12-18 17:09
bash 错误控制问题
有个关于bash脚本的问题, http://code.bulix.org/tjhgeh-81814, 目的是实现同步ubuntu的源, 但是因为我这个机器下载只有500kb, 所以有时候一天同步不完, 所以我加了一个锁, 但是现在有个问题, 就是如果第一个rsync超时退出后, 整个脚本就会随之退出, 导致后边删除锁文件的语句不能执行, 我想请问一下如何在一个语句出错后脚本能够继续执行
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: bash 错误控制问题
都有$?的吧,加个判断就差不多了。 

◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 61
- 注册时间: 2010-12-18 17:09
Re: bash 错误控制问题
你的意思是 是$?造成的出错退出?
- YeLee
- 论坛版主
- 帖子: 26406
- 注册时间: 2008-08-13 8:48
- 系统: Fundu i64
- 来自: 东海硇州,一双管钥。
- 联系:
Re: bash 错误控制问题
善于利用程序的返回值嘛。 

◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
-
- 帖子: 61
- 注册时间: 2010-12-18 17:09
Re: bash 错误控制问题
这貌似不是返回值的问题, 脚本执行到出错的程序之后就不执行后边的语句了
-
- 帖子: 61
- 注册时间: 2010-12-18 17:09
Re: bash 错误控制问题
我想要脚本继续执行
- cuihao
- 帖子: 4793
- 注册时间: 2008-07-24 11:33
- 来自: 郑州
- 联系:
Re: bash 错误控制问题
hmm,会自动退出么?
如果自己不加exit的话,应该还是会进行下去的吧。
如果自己不加exit的话,应该还是会进行下去的吧。
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 蓝红黄蓝绿红
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
- cuihao
- 帖子: 4793
- 注册时间: 2008-07-24 11:33
- 来自: 郑州
- 联系:
Re: bash 错误控制问题
我胡乱修改一下你的脚本,让rsync运行不了,最后还是进行到rm这一步了:
代码: 全选
cuihao@cuihao-arch /tmp $ bash aa.sh
aa.sh:行7: /var/programs404/repo_sync/ubuntu.log: 没有那个文件或目录
rsync: getaddrinfo: mirrors.ustc.edu 873: Name or service not known
rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.9]
rsync: getaddrinfo: mirrors.ustc.edu 873: Name or service not known
rsync error: error in socket IO (code 10) at clientserver.c(122) [Receiver=3.0.9]
rm: 无法删除"/var/programs404/repo_sync/ubuntu.lock": 没有那个文件或目录
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 蓝红黄蓝绿红
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
Site: CUIHAO.TK Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~