Bash:如何检查一些操作是否成功完成?

伊泰盖诺

我有一个bash脚本,可以执行各种操作,例如脚本中的示例:

scp $workdir/$site$dom.conf root@$srv13:$workdir
  scp $workdir/$site$dom.conf root@$srv179:$workdir
  ssh root@$srv13 "hostname ; service httpd restart"
  ssh root@localhost "hostname ; service httpd restart"
  ssh root@$srv179 "hostname ; service httpd restart"
  ssh root@$srv201 "hostname ; service named restart"

我想返回一些“操作成功”的指示,但我想确保所有操作都成功完成。通常我会用,if [ $? = 0 ]; then...但是我想知道是否还有其他方法可以这样做,因为编写5xif's似乎并不像“最少的管理工作”。那么,还有另一种方法可以批量检查这5个操作的退出代码吗?

梅农节

如果任何操作失败都需要失败,则只需set -e在脚本顶部执行。然后,一旦任何步骤失败,它将失败。

如果您对任何单个步骤失败都可以,但是只想跟踪失败次数,则可以尝试以下操作:

success_count=0
scp $workdir/$site$dom.conf root@$srv13:$workdir && success_count=$((success_count+1))
scp $workdir/$site$dom.conf root@$srv179:$workdir && success_count=$((success_count+1))
ssh root@$srv13 "hostname ; service httpd restart" && success_count=$((success_count+1))
ssh root@localhost "hostname ; service httpd restart" && success_count=$((success_count+1))
ssh root@$srv179 "hostname ; service httpd restart" && success_count=$((success_count+1))
ssh root@$srv201 "hostname ; service named restart" && success_count=$((success_count+1))

echo "Num ops succeeded = $success_count"

您甚至可以将其拉入功能,例如:

exec_with_count() {
    "$@" && success_count=$((success_count+1))
}

exec_with_count scp $workdir/$site$dom.conf root@$srv13:$workdir
exec_with_count scp $workdir/$site$dom.conf root@$srv179:$workdir
...

echo "Num ops succeeded = $success_count"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bash:如何检查一些操作是否成功完成?

来自分类Dev

如何检查字符串是否有换行符,然后执行一些操作

来自分类Dev

当 AJAX 加载成功完成时做一些事情

来自分类Dev

一些操作完成后如何执行window.prompt?

来自分类Dev

PHP检查是否检查了多个checkbok中的一些

来自分类Dev

从bash完成中隐藏一些命令?

来自分类Dev

如何在Google地址自动完成功能中删除一些额外的详细信息?

来自分类Dev

如何检查链接是否包含一些文本并根据文本的值评估条件-Jquery / JS

来自分类Dev

如何检查Play Slick过滤器是否返回了一些行或空结果?

来自分类Dev

如何检查python命令是否通过Internet内部使用了一些外部api

来自分类Dev

如何检查每分钟表中是否有一些新行?

来自分类Dev

如何使用jquery检查逗号分隔的数字中是否包含一些数字?

来自分类Dev

如何检查元素是否实际持有一些数据

来自分类Dev

如何检查Play Slick过滤器是否返回了一些行或空结果?

来自分类Dev

SQL查询以检查列是否包含一些数据

来自分类Dev

检查一些asynctask之后是否有错误

来自分类Dev

SQL查询以检查列是否包含一些数据

来自分类Dev

如何在不添加一些不必要的注释的情况下执行特定的完成操作?

来自分类Dev

如何添加一些jQuery插件完成回调

来自分类Dev

如何等待直到一些jQuery方法完成?

来自分类Dev

输入与输出:作业成功完成,但是缺少一些输出文件

来自分类Dev

在python中,如何检查标准输入流(sys.stdin)的结尾并对此做一些特殊的操作

来自分类Dev

如何检查所有值并显示一些消息

来自分类Dev

如何检查链接为什么需要一些符号?

来自分类Dev

如何检查所有值并显示一些消息

来自分类Dev

如何对div的span元素执行一些操作?

来自分类Dev

如何检查ID是否连续存在并回显一些文本(如果不存在)

来自分类Dev

如何检查 listbox2 是否包含一些 listbox1 项目 - VB.net

来自分类Dev

AngularJS + $ q,在完成多个ajax调用后执行一些操作

Related 相关文章

  1. 1

    Bash:如何检查一些操作是否成功完成?

  2. 2

    如何检查字符串是否有换行符,然后执行一些操作

  3. 3

    当 AJAX 加载成功完成时做一些事情

  4. 4

    一些操作完成后如何执行window.prompt?

  5. 5

    PHP检查是否检查了多个checkbok中的一些

  6. 6

    从bash完成中隐藏一些命令?

  7. 7

    如何在Google地址自动完成功能中删除一些额外的详细信息?

  8. 8

    如何检查链接是否包含一些文本并根据文本的值评估条件-Jquery / JS

  9. 9

    如何检查Play Slick过滤器是否返回了一些行或空结果?

  10. 10

    如何检查python命令是否通过Internet内部使用了一些外部api

  11. 11

    如何检查每分钟表中是否有一些新行?

  12. 12

    如何使用jquery检查逗号分隔的数字中是否包含一些数字?

  13. 13

    如何检查元素是否实际持有一些数据

  14. 14

    如何检查Play Slick过滤器是否返回了一些行或空结果?

  15. 15

    SQL查询以检查列是否包含一些数据

  16. 16

    检查一些asynctask之后是否有错误

  17. 17

    SQL查询以检查列是否包含一些数据

  18. 18

    如何在不添加一些不必要的注释的情况下执行特定的完成操作?

  19. 19

    如何添加一些jQuery插件完成回调

  20. 20

    如何等待直到一些jQuery方法完成?

  21. 21

    输入与输出:作业成功完成,但是缺少一些输出文件

  22. 22

    在python中,如何检查标准输入流(sys.stdin)的结尾并对此做一些特殊的操作

  23. 23

    如何检查所有值并显示一些消息

  24. 24

    如何检查链接为什么需要一些符号?

  25. 25

    如何检查所有值并显示一些消息

  26. 26

    如何对div的span元素执行一些操作?

  27. 27

    如何检查ID是否连续存在并回显一些文本(如果不存在)

  28. 28

    如何检查 listbox2 是否包含一些 listbox1 项目 - VB.net

  29. 29

    AngularJS + $ q,在完成多个ajax调用后执行一些操作

热门标签

归档