Bashでさまざまな変数の組み合わせにアクセスする

Bashでさまざまな変数の組み合わせにアクセスする

私はグループに初めて来たので、間違いや誤った表現の質問についてお詫び申し上げます。これが私の問題です。変数の配列があります。私は可能なすべての組み合わせで同時に他のタスク(たとえば、他のタスク)を開始したいと思います。私が何をすべきかわからないのは、すべての可能な変数の組み合わせに順次アクセスすることです。

以下は、各反復で変数セットを印刷するテスト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[@]}"

おすすめ記事