以日期为名称的tar文件?

Phi*_*ide 16 bash tar

我正在尝试对一个以日期和时间为名称的文件进行 tar 和 gzip:

date=$(date '+%d-%m-%Y_%H:%M:%S');    
tar -zcf "$date".tar.gz repo/bin/
Run Code Online (Sandbox Code Playgroud)

但我回来了:

tar (child): Cannot connect to 17-08-2017_21: resolve failed
tar: Child returned status 128
tar: Error is not recoverable: exiting now
Run Code Online (Sandbox Code Playgroud)

这里到底发生了什么,我该如何解决?

tar 是否试图连接到该名称,就好像它是一个 ip 一样?

ste*_*ver 32

是的。至少对于 GNU tar,文档说:

如果存档文件名包含冒号 ( :),则假定它是另一台机器上的文件。如果存档文件是user@host:file,则在主机主机上使用文件。使用 rsh 程序访问远程主机,用户名是user。如果省略用户名(连同符号),则将使用您的用户名。(这是正常的 rsh 行为。)。@

它还提供了一种解决方法:

--force-local
      Archive file is local even if it has a colon.
Run Code Online (Sandbox Code Playgroud)

  • 更短的解决方法:`tar zcf ./"$date".tar.gz ...` 前导路径规范似乎使 tar 将其视为常规文件 (5认同)