【问题标题】:How can I have a shell script copy back a file if there is a failure anywhere?如果任何地方出现故障,我如何让 shell 脚本复制回文件?
【发布时间】:2014-11-20 16:39:13
【问题描述】:

我在文件的开头

cp ~/.bundle/config  ~/.bundle/config_save

在文件的末尾,我用它来恢复它

cp ~/.bundle/config_save ~/.bundle/config

在文件中我发出许多不同的rspec/spec/dir/file.rb 命令

我怎样才能做到,如果被用户(ctrl - c)打断,它会清理并将config_save文件恢复为config

我希望进程可以在前台运行,以便我可以看到实际的故障本身。如果做不到这一点,也许另一种选择可能是在每个存储库中跟踪 logs/test.log。

【问题讨论】:

标签: ruby shell rspec bundle bundler


【解决方案1】:

也许我误解了你的问题,但你不能只使用&&“连接”命令:

cp ~/.bundle/config  ~/.bundle/config_save

rspec spec/dir/file1.rb &&
rspec spec/dir/file2.rb &&
rspec spec/dir/file3.rb

cp ~/.bundle/config_save ~/.bundle/config

如果rspec 命令之一失败,则跳过其余命令并执行下一行(即最后一行)。

【讨论】:

  • +1,但是,嗯,我的版本可能过于简化了。它实际上有 3 页长,有几十个 &&s 感觉很奇怪......
  • 我也希望它一直运行,但让我将它添加到 q
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-16
  • 2012-06-25
  • 2012-02-25
  • 2020-12-16
  • 2014-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多