我试图通过解析输出,检查运行和排队的PBS作业的数量qstat -tn1
从bash
脚本。到目前为止,这已经奏效:
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
实际上失败了。
R
并Q
使用 …