子脚本之一失败时不退出bash脚本

你真棒

我是Shell脚本的新手。我有一个脚本,可以使用不同的输入文件运行多个测试脚本。当前,如果任一输入测试失败,则退出。我希望测试完成循环并退出并最终累积所有错误。

main.sh

set -e ;
set -x ;
for f in $files;do
    ./scripts/test_script.sh $f
done

======================

test_script.sh:运行少量内容,然后退出。

:
:
:
exit $?

================

切普纳

set -e是什么导致您的脚本在命令失败后立即退出。摆脱它。

如果在任何测试失败的情况下都希望退出状态为1,请尝试以下操作:

exit_status=0

for f in $files; do
  if ! ./scripts/test_script.sh "$f"; then
    exit_status=1
  fi
done

exit "$exit_status"

exit_status如果的调用test_script.sh具有非零的退出状态的值只会从0更改为1


更新:您可以将失败的脚本收集到一个数组中(您还应该使用该数组来存储文件列表):

files=(foo.txt bar.txt)
failed=()

for f in "${files[@]}"; do
  ./scripts/test_script.sh "$f" || failed+=("$f")
done

if (( ${#failed[@]} != 0 )); then
  echo "Failed:"
  printf '  %s\n' "${failed[@]}"
  exit 1
else
  exit 0
fi

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

保留源外壳脚本而不退出终端

来自分类Dev

CasperJS脚本永不退出

来自分类Dev

Python多进程池。当工作进程之一确定不再需要执行更多工作时,如何退出脚本?

来自分类Dev

为什么此bash脚本不退出?

来自分类Dev

TCSH脚本不退出

来自分类Dev

Shell脚本在失败时不记录Java退出状态

来自分类Dev

当子进程之一退出时,退出bash脚本

来自分类Dev

在脚本中退出bash命令而不退出脚本

来自分类Dev

从菜单中调用退出脚本而不退出菜单

来自分类Dev

在bash中,退出脚本而不退出外壳,或者从子外壳中导出/设置变量

来自分类Dev

从bash调用R脚本时退出代码

来自分类Dev

确保即使子脚本退出,父bash脚本也不会退出

来自分类Dev

从菜单中调用退出脚本而不退出菜单

来自分类Dev

条件失败时如何停止bash脚本?

来自分类Dev

为什么(退出1)不退出脚本?

来自分类Dev

在脚本中退出bash命令而不退出脚本

来自分类Dev

当管道终止到子命令时,为什么bash while循环不退出?

来自分类Dev

退出脚本时杀死bash脚本中的后台进程

来自分类Dev

在采购脚本时,如何在不退出调用外壳的情况下跳过脚本的其余部分?

来自分类Dev

将函数输出分配给变量时,脚本不退出

来自分类Dev

当SQL查询失败时,Shell脚本循环结束文件以退出

来自分类Dev

进程检查失败时退出Shell脚本

来自分类Dev

从使用$()的bash脚本退出

来自分类Dev

困惑为什么脚本不退出

来自分类Dev

Shell脚本在失败时不记录Java退出状态

来自分类Dev

Bash脚本在命令失败时退出(sshpass)

来自分类Dev

不退出 shell 脚本

来自分类Dev

“源脚本”不支持“#!/bin/bash -ex”并在命令失败时退出

来自分类Dev

发送退出代码而不退出脚本

Related 相关文章

  1. 1

    保留源外壳脚本而不退出终端

  2. 2

    CasperJS脚本永不退出

  3. 3

    Python多进程池。当工作进程之一确定不再需要执行更多工作时,如何退出脚本?

  4. 4

    为什么此bash脚本不退出?

  5. 5

    TCSH脚本不退出

  6. 6

    Shell脚本在失败时不记录Java退出状态

  7. 7

    当子进程之一退出时,退出bash脚本

  8. 8

    在脚本中退出bash命令而不退出脚本

  9. 9

    从菜单中调用退出脚本而不退出菜单

  10. 10

    在bash中,退出脚本而不退出外壳,或者从子外壳中导出/设置变量

  11. 11

    从bash调用R脚本时退出代码

  12. 12

    确保即使子脚本退出,父bash脚本也不会退出

  13. 13

    从菜单中调用退出脚本而不退出菜单

  14. 14

    条件失败时如何停止bash脚本?

  15. 15

    为什么(退出1)不退出脚本?

  16. 16

    在脚本中退出bash命令而不退出脚本

  17. 17

    当管道终止到子命令时,为什么bash while循环不退出?

  18. 18

    退出脚本时杀死bash脚本中的后台进程

  19. 19

    在采购脚本时,如何在不退出调用外壳的情况下跳过脚本的其余部分?

  20. 20

    将函数输出分配给变量时,脚本不退出

  21. 21

    当SQL查询失败时,Shell脚本循环结束文件以退出

  22. 22

    进程检查失败时退出Shell脚本

  23. 23

    从使用$()的bash脚本退出

  24. 24

    困惑为什么脚本不退出

  25. 25

    Shell脚本在失败时不记录Java退出状态

  26. 26

    Bash脚本在命令失败时退出(sshpass)

  27. 27

    不退出 shell 脚本

  28. 28

    “源脚本”不支持“#!/bin/bash -ex”并在命令失败时退出

  29. 29

    发送退出代码而不退出脚本

热门标签

归档