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

ディレクトリを2回作成しました。

スクリプトで#! /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

関連情報