我很愧,我有一个脚本被编写为多次运行同一命令,并且具有多个输入和输出。如果我还有另一个Shell脚本,有没有一种方法可以在多个srun命令中循环遍历。我以为你会是这样的人:
#!/bin/bash
ExCommand -f input1a -b input2a -c input3a -o outputa
ExCommand -f input1b -b input2b -c input3b -o outputb
ExCommand -f input1c -b input2c -c input3c -o outputc
ExCommand -f input1d -b input2d -c input3d -o outputd
ExCommand -f input1e -b input2e -c input3e -o outpute
#!/bin/bash
## Job Name
#SBATCH --job-name=collectAlignmentMetrics
## Allocation Definition
## Resources
## Nodes
#SBATCH --nodes=1
## Time limir
#SBATCH --time=4:00:00
## Memory per node
#SBATCH --mem=64G
## Specify the working directory for this job
for line in shellscript
do
srun command
done
有什么想法吗?
答案 0 :(得分:0)
尝试用以下内容替换您的for
循环:
while read -r line;
do
if [[ $line == \#* ]]; continue ; fi
srun $line
done < shellscript