#!/usr/bin/env bash count=0 echo > out.log while true do ./buggy.sh &>> out.log if [[ $? -ne 0 ]]; then cat out.log echo "failed after $count times" break fi ((count++)) done
时间: 2024-02-14 21:31:43 浏览: 105
Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
这是一个 Bash 脚本,它包含一个无限循环。在每次循环中,它运行 `buggy.sh` 脚本,并将输出追加到 `out.log` 文件中,使用 `&>>` 操作符实现。然后,它检查上一次命令的退出状态码(通过 `$?` 获取),如果不等于 0,则表示脚本运行失败。
在脚本运行失败时,它会打印出 `out.log` 文件的内容,然后输出 "failed after $count times",其中 `$count` 表示脚本失败的次数。
这个脚本的目的是反复运行 `buggy.sh` 脚本,直到它失败,并在失败时输出错误日志和失败次数。
阅读全文