我在使用 bash 脚本时遇到问题。基本上,在我的脚本中我运行命令
bjobs -u $1
$1 是脚本参数,它是我集群上用户的 ID。如果用户 $1 在集群上没有正在运行/挂起的作业,则 bjobs 打印
No unfinished jobs found
到标准输出。此外,退出状态为 255。如果用户 $1 确实有作业,则 bjobs 打印:
JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME
45823 .......
45824 .......
.
.
退出状态为 0。我希望 awk 解析 bjobs 的输出。我试过了
bjobs -u $1 | awk '...'
其中 '...' 是我的 awk 解析程序。这不太好用,因为显然当用户 $1 没有运行/挂起的作业时,字符串“No unfinished jobs found”不会传递给 awk。同样的情况发生在
bjobs -u $1 > foo
awk '...' foo
有什么建议么?