相关疑难解决方法(0)

如果前一个命令失败,则退出管道

我试图通过解析输出,检查运行和排队的PBS作业的数量qstat -tn1bash脚本。到目前为止,这已经奏效:

count ()
{
    qstat -tn1 | awk '
        BEGIN { R = 0; Q = 0; }
        $10 == "R" { R++ }
        $10 == "Q" { Q++ }
        END { print R, Q }'
}

if read -r R Q < <(count)
    ...
Run Code Online (Sandbox Code Playgroud)

但是,我看到qstat偶尔会因未知原因而失败。在这种情况下,它不会向 打印任何内容stdout和一些错误消息stderr,并以非零状态(相当标准)退出。但是,awk不知道qstat失败了,并且很高兴地打印0 0了它收到的空输入。然后read将 0 分配给两者,R并且Q不知道qstat实际上失败了。

  1. 我需要在脚本块中初始化RQ使用 …

linux scripting bash

5
推荐指数
1
解决办法
2589
查看次数

标签 统计

bash ×1

linux ×1

scripting ×1