私はグループに初めて来たので、間違いや誤った表現の質問についてお詫び申し上げます。これが私の問題です。変数の配列があります。私は可能なすべての組み合わせで同時に他のタスク(たとえば、他のタスク)を開始したいと思います。私が何をすべきかわからないのは、すべての可能な変数の組み合わせに順次アクセスすることです。
以下は、各反復で変数セットを印刷するテストbashスクリプトです。予想よりもずっと多くの内容を印刷するので、私には良くないようです。 2、3、4つの変数を持つ3つの配列があるため、合計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[@]}"