
rsyncコマンドをスクリプト化しており、現在同様のことをしようとしています...
rsync -av -e ssh $DATASTORE/usr/local/somepath $DESTDIR/usr/local/someotherpath/
$DATASTOREをエコーすると、次のように表示されます。
echo $DATASTORE
[email protected]
コマンドを実行すると、次の結果が表示されます。
/vagrant/[email protected]/usr/local/somepath no suck file or diectory
なぜそこに/vagrantを追加したのか(/vagrantは私がいる現在のディレクトリです)、そしてそのソースはどこなのかわかりません。これはうまくいくことはできないようですが、これが何をするのか、そしてそれを回避する方法(安全な場合)を知りたいのですが。
答え1
:
他の人が指摘したように、パスとホストの指定を区別するには、コロン()を使用する必要があります。
rsync -av -e ssh "$DATASTORE":/usr/local/somepath "$DESTDIR"/usr/local/someotherpath/
また、これがsomepath
望ましい動作ではありませんが、必要に応じて"$DESTDIR"/usr/local/someotherpath
。"$DESTDIR"/usr/local/someotherpath/somepath
コンテンツsomepath
ターゲットディレクトリのソースsomeotherpath
パスの後にスラッシュを追加します。
rsync -av -e ssh "$DATASTORE":/usr/local/somepath/ "$DESTDIR"/usr/local/someotherpath/
答え2
交換しよう
$DATASTORE
渡す
${DATASTORE}:
答え3
あなたがするすべてのことは大丈夫です。ここにはコロンだけが抜けました。この試み:
rsync -av -e ssh $DATASTORE:/usr/local/somepath $DESTDIR/usr/local/someotherpath/