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[@]}"

관련 정보