我正在尝试 tar 文件并将其输出存储在变量中。我试过这个,但它不起作用:
resulting_tar=$(tar -zcf "$(date '+%Y-%m-%d').tar.gz" folder)
Run Code Online (Sandbox Code Playgroud)
知道我该怎么做吗?
默认情况下,tar不报告创建的文件的名称。事实上,除非您告诉它,否则它不会说什么,并且给出的选项不会告诉它说什么。
请注意,tar它不会告诉您它创建了什么文件。你告诉tar你要创建什么文件。
您需要在变量中捕获文件的名称并自行报告:
file="$(date '+%Y-%m-%d').tar.gz"
tar -czf "$file" folder
echo "$file"
Run Code Online (Sandbox Code Playgroud)
尝试运行tar -czf /dev/null folder;你不会从(的大多数实现)中看到任何东西tar——这不是因为我指定了/dev/null. 如果您愿意,请指定一个名称:tar -czf junk.tar.gz folder并观察(缺少)输出 - 并记住删除junk.tar.gz.
您可能还想考虑在文件名中包含文件夹名称tar。
folder="…whatever…"
file="$folder-$(date +'%Y-%m-%d').tar.gz"
tar -czf "$file" "$folder"
echo "$file"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |