我是该小组的新人,因此请为任何错误或表述不当的问题道歉。这是我的问题。我有一些变量数组。我想同时开始具有所有可能组合的不同工作(例如不同的任务)。我不知道该怎么做,就是按顺序访问所有可能的变量组合。
这是一个测试 bash 脚本,它仅在每次迭代时打印出变量集。这对我来说看起来不太好,因为它打印的内容比我预期的要多得多。由于我有 3 个包含 2,3 和 4 个变量的数组,因此我总共需要 2 * 3 * 4 = 24 个任务。有人可以解释我做错了什么,或者是否有更好更干净的方法?
这是一个小例子:
#!/bin/bash
#$ -N combi_test
#$ -t 1-24
ACQ=('ei')
VAR=('sh' 'rbf')
TRAIN=(1000 2000 3000)
ANGLES=(10 20 30 40)
for i in "${!ANGLES[@]}"; do
for j in "${!VAR[@]}"; do
for k in "${!TRAIN[@]}"; do
echo "IS_${ACQ}_tr${TRAIN[k]}_${ANGLES[i]}_${VAR[j]}.h5"
done
done
done
预先非常感谢!
答案1
尝试:
parallel echo "IS_${ACQ}_tr{3}_{1}_{2}.h5" ::: "${ANGLES[@]}" ::: "${VAR[@]}" ::: "${TRAIN[@]}"