Bash에서 루프를 사용하여 특정 파일을 특정 디렉토리에 복사

Bash에서 루프를 사용하여 특정 파일을 특정 디렉토리에 복사

내가 하고 싶은 일은:

src1=/path/to/source1
src2=/path/to/source2

dest1=/path/to/dest1
dest2=/path/to/dest2

loop

    copy src(x) to dest(x)   #here x=1,2,3..

break_loop

그렇다면 이것을 bash 스크립트에서 어떻게 구현합니까?

답변1

변형으로 bash 쉘이 있다고 가정하십시오.

#!/bin/bash
declare -A dirs
dirs[/path/to/source1]=/path/to/dest1
dirs[/path/to/source2]=/path/to/dest2
for src in "${!dirs[@]}"
do
   cp -- "$src"/* "${dirs[$src]}"/
done

답변2

따라서 무엇을 달성하고 싶은지 완전히 확신할 수는 없지만 src1을 dest1에, src2를 dest2에 복사하려는 경우 다음을 수행할 수 있습니다.

src=(/path/to/source1 /path/to/source2)

dest=(/path/to/dest1 /path/to/dest2)

for i in "${!src[@]}"; do
    cp -- "${src[$i]}" "${dest[$i]}"
done

도움이 되었기를 바랍니다!

관련 정보