gpt4 book ai didi

bash - 需要 bash 函数中的循环建议

转载 作者:行者123 更新时间:2023-12-04 19:38:50 26 4
gpt4 key购买 nike

我正在尝试编写一个脚本来检查几个函数返回,如果返回 1 写入日志文件并向我发送电子邮件,但循环没有按预期工作:

  • 如果成功打印一切都很好
  • 如果更新失败,它会在日志中写入“失败”和“完成”两行并向我发送电子邮件。

  • 你能帮忙找出错误吗?
    w2log() {
    if [[ $? = 0 ]] ; then
    echo "=== Everything looks good ! DONE `date` ===" >> $LOG;
    else
    echo "=== Something went wrong ! FAILED `date` ===" >> $LOG && errmail
    fi
    }

    updaterepos() {
    syn6332
    syn5864
    for repo in syn6332 syn5864; do
    w2log
    done
    }

    updaterepos

    最佳答案

    也许是这样的(如果你想要一个 w2log 每个命令的报告):

    updaterepos() {
    for repo in syn6364 syn5864 ; do
    $repo
    w2log
    done
    }

    功能检查 $?应在返回状态的命令后立即调用。函数调用也设置 $? -- 这就是为什么你在调用 w2log 时得到第二行“完成”的原因第二次。

    关于bash - 需要 bash 函数中的循环建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14399858/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com