rsync ファイル `a`b

rsync ファイル `a`b

はい、あなたが何を考えているのか知っています。 「一体誰がファイル名を指定するのでしょうか`a`b?」

しかし、あなたが仮定しましょうする`a`b(おそらくあなたではなく、クレイジーMacユーザーが作成したものかもしれません)というファイルがあり、あなたはrsyncそれを望んでいます。確実な解決策:

rsync server:'./`a`b' ./.;
rsync 'server:./`a`b' ./.;

以下を提供します。

bash: line 1: a: command not found
rsync: [sender] link_stat "/home/tange/b" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1865) [Receiver=3.2.7]
rsync: [Receiver] write error: Broken pipe (32)

でも:

$ rsync 'server:./\`a\`b' ./.;
bash: line 3: a\: command not found
rsync: [sender] link_stat "/home/tange/\b" failed: No such file or directory (2)
:

rsync私の注文は何ですか?しなければならない走る?

$ rsync --version
rsync  version 3.2.7  protocol version 31

ベストアンサー1

手動で二等分した後、rsyncのバグが発生して修正されました。commit 5c93dedf4538("SHELL_CHARSにバックティックを追加します。")、これはすぐにリリースされるrsync 3.2.8(まだリリースされていません)に表示されます。壊れたコミット6b8db0f6440b(「バックスラッシュエスケープを使用した引数保護イディオムの追加」)、3.2.4にあります。

緩和策として以前の引数解析動作()を使用するオプションがあります--old-args

rsync --old-args 'server:./\`a\`b' .

おすすめ記事