我需要按顺序运行多个任务。任务名称列在文件 (jobs.txt) 中。我使用以下代码(示例):
#! /bin/bash
while IFS=$'\r' read -r line || [[ -n "$line" ]]; do
echo $line
done < "jobs.txt"
效果很好。但是,我需要使用 openmpi 运行这些任务(在本例中,将“echo $line”更改为“mpirun -n 4 echo $line”),然后脚本不再工作......它只读取第一行从“jobs.txt”并停止。
知道问题是什么以及如何解决它吗?
答案1
是的,通过分配除 stdin 之外的文件描述符,问题解决了。