You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Bash脚本归档的文件以含日期的名称保存?

给归档脚本添加日期后缀的解决方案

你可以通过date命令生成指定格式的日期字符串,再将其拼接到归档文件名中,具体实现如下:

  1. 生成目标格式的日期字符串
    使用date +"%d_%m_%Y_%H-%M"命令就能生成日_月_年_时-分格式的日期,比如你需要的28_11_2022_14-46。

  2. 修改原有脚本
    在归档分支中先获取日期字符串,再和用户输入的文件名拼接,同时建议显式添加.tar.gz后缀(避免用户忘记输入)。另外,为了兼容路径或文件名包含空格的场景,所有变量最好用双引号包裹。

修改后的完整脚本:

#!/bin/bash
echo "1-archive"
echo "2-exit"
read doing
case $doing in
1)
    echo "choose directory"
    read path
    echo "choose name file"
    read name
    # 生成指定格式的日期字符串
    date_str=$(date +"%d_%m_%Y_%H-%M")
    # 拼接最终归档文件名
    archive_name="${name}_${date_str}.tar.gz"
    # 执行归档操作,变量用双引号包裹处理空格
    tar -cvzf "$archive_name" "$path"
    ;;
2)
    exit 0
    ;;
*)
    echo "error"
    ;;
esac
  1. 可选调整
    • 若想让日期作为文件名前缀,只需把archive_name改为"${date_str}_${name}.tar.gz"
    • 若无需用户输入文件名,直接用日期作为核心命名,可以去掉read name步骤,设置archive_name="archive_${date_str}.tar.gz"

内容的提问来源于stack exchange,提问作者olooliver

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 03:35:18