scp -r이 마지막 디렉터리를 복사 중입니다.

scp -r이 마지막 디렉터리를 복사 중입니다.

scp -r예전에 사용해봤는데 이런건 본 적이 없네요.

나는 다음을 수행하고 있습니다 :

dirArr=(
    /drv1/sample1/dataset1
    /drv2/sample2/dataset2
    /drv3/sample3/dataset3
)


for f in ${dirArr[@]}; do
    echo mkdir -p /newdrive3"$f" | ssh [email protected] /bin/bash
    scp -r "$f" [email protected]:"/newdrive3$f"
done

재귀 복사가 발생하지만 매번 마지막 디렉터리가 그 내부에 복사됩니다. 따라서 대상의 디렉터리 트리 구조는 다음과 같습니다.

    /newdrive3/drv1/sample1/dataset1/dataset1
    /newdrive3/drv2/sample2/dataset2/dataset2
    /newdrive3/drv3/sample3/dataset3/dataset3

원인은 무엇입니까?
어떻게 예방할 수 있나요?

답변1

디렉터리를 두 번 만들었습니다.

스크립트에서 #! /bin/bash -x상단을 사용하여 디버깅하세요.

/newdrive3은 한 번만 생성하면 됩니다.

이 시도:

#!/bin/bash

dirArr=(
    /drv1/sample1/dataset1
    /drv2/sample2/dataset2
    /drv3/sample3/dataset3
)

ssh [email protected] 'mkdir -p /newdrive3'

for f in "${dirArr[@]}"; do
    scp -r "$f" [email protected]:/newdrive3
done

관련 정보