쉘 스크립트를 사용하여 다른 프로젝트의 여러 저장소를 복제하는 방법은 무엇입니까?

쉘 스크립트를 사용하여 다른 프로젝트의 여러 저장소를 복제하는 방법은 무엇입니까?

여러 프로젝트에 대한 URL이 있고 각 프로젝트에 여러 저장소가 있으며 디렉터리의 모든 저장소를 복제하고 git 분기를 찾아야 합니다.

나는 이것을 시도했다

#!/bin/bash
project=(aa bb cc)
aa=(a b c)
bb=("d" "e")
cc=("g")
for i in "${project[@]}"
do
    echo "${!i}"
    for j in  @{$i}
    do
        echo $j
    done
done

그러나 출력이 없습니다.

답변1

내가 이해한 바로는 동적 배열 이름을 사용하여 배열을 반복하려고 합니다. 다음을 수행할 수 있습니다.

#!/bin/bash
project=(aa bb cc)
aa=(a b c)
bb=("d" "e")
cc=("g")
for i in "${project[@]}"
do
    var="$i[@]"
    for j in  ${!var}
    do
        echo j=$j
    done
done

관련 정보