为什么set-e(或set-o errexit或trap err)没有执行我预期的操作?

2020-10-26 11:45:30

从前,一个身穿脏兮兮的实验服、留着蓬乱长发的男子出现在镇上的派出所,要求见警察局长。“我做到了!”他喊道。我已经建造了一个完美的抓捕罪犯的机器人!&34;警察局长对此表示怀疑,但他认为也许值得花时间看看这个人发明了什么。此外,他暗自想,完全疏远这位疯狂的科学家和他的猎人机器人大军可能是一个有点不明智的举动。因此,这名男子向警察局长解释了他的发明如何使用一系列启发式方法来区分罪犯和守法公民。它特别擅长发现最近越狱的囚犯!他说。警察局长虽然眉头紧锁,越来越怀疑,但还是允许这名男子在一周内展示一台机器人,并保证不会造成致命的束缚。他们决定让机器人在监狱周围巡逻。果不其然,几天后发生了一起越狱事件,一名在监狱设施外挖掘地面的囚犯被机器人抓住并抬回监狱内。大吃一惊的警察局长允许机器人在更大范围内巡逻。第二天,园长接到动物园管理员打来的愤怒电话。看起来机器人切断了其中一个动物笼子的栅栏,抓住了动物,并把它送到了监狱。酋长质问机器人的发明者,发明者问它是什么动物。一匹斑马,警察局长回答说。那人拍了拍他的头,喊道:诅咒!它被黑白条纹愚弄了!我将不得不重新校准!就这样,那个人开始重写机器人的代码。黑白条纹表明囚犯逃跑了,除非囚犯有两条腿以上。那就别管它了。机器人被重新部署了更新的代码,看起来几天来运行得足够好。然后在周六,一群身穿足球服的孩子,在他们的父母的跟随下,袭击了警察局。在混乱平息后,酋长被告知,机器人在足球比赛进行到一半时和裁判一起潜逃了。酋长怒目而视,向科学家报告了这一点,科学家进行了第二次校准。黑白条纹表明囚犯逃跑了,除非囚犯有两条以上的腿或项链上有哨子。尽管进行了第二次校准,警察局长还是宣布,该机器人将不再被允许在他所在的城镇活动。然而,机器人的消息已经传开,来自许多大城市的请求蜂拥而至。这位发明家又制造了几十个机器人,并将它们运往全国各地急切的警察局。每次机器人抓到不是逃犯的东西时,都会咨询科学家,并对机器人进行重新校准。不幸的是,发明者只有一个人,他没有时间或资源来重新校准每一个机器人,每当它们中的一个出了问题。香格里拉的机器人被重新校准为不抓取在寒冷冬夜工作的掘墓人,同时戴着滑雪面罩;世外桃源的机器人被重新校准为不抓取播放越狱电影的黑白电视机,以此类推。但世外桃源的机器人仍然会抓住戴着滑雪面具的掘墓人(事实证明,由于世外桃源气候变暖,这种情况并不常见),而香格里拉的机器人仍然是旧电视的威胁(旧电视机很少,香格里拉的人平均比世外桃源的人更富有)。所以,几年后,抓捕罪犯的机器人在大多数大城市都有不同的版本。在一些地方,聪明的罪犯可以通过在脖子上系上一个哨子来避免被捕。在另一些地方,人们最好不要在某些农村地区穿橙色的衣服,无论那天离丰收节有多近,除非你也涂了南瓜王传统的黑色三角形眼妆。许多人认为,这太疯狂了!但也有人认为,从各方面考虑,机器人利大于弊,所以在一些地方使用机器人,而在另一些地方则避开它们。结束了。