그래서 저는 변수 1개를 반복하는 방법을 알고 있습니다.
folder="(first|second|third)"
for i in "${folder[@]}"; do
rclone move /mounts/$folder/cache
done
하지만 2살이 되면 어떻게 해야 할까요?
folder="(first|second|third)"
mount="(something1|something2|something3)"
for i in "${folder[@]}"; do
rclone move /mounts/$folder/cache $mount
done
따라서 스크립트는 각 폴더를 반복하여 올바른 설치를 추가해야 합니다.
마지막으로 실행은 다음과 같아야 합니다.
rclone move /mounts/first/cache something1
rclone move /mounts/second/cache something2
rclone move /mounts/third/cache something3
답변1
배열을 반복해야 합니다.색인가치보다는 숫자. 이는 ${!folder[@]}
구문을 사용하여 수행됩니다.
이렇게 하면 루프 내부의 동일한 인덱스를 통해 두 배열에 모두 액세스할 수 있습니다.
예를 들어( echo
이 예에서는 먼저 입력)
folder=(first second third)
mount=(something1 something2 something3)
for i in "${!folder[@]}"; do
echo rclone move /mounts/${folder[$i]}/cache ${mount[$i]}
done
출력됩니다
rclone move /mounts/first/cache something1
rclone move /mounts/second/cache something2
rclone move /mounts/third/cache something3