问题描述: - backup_folders() 函数使用 echo 返回文件路径 - 但 tar 命令的 2>&1 将 stderr 重定向到 stdout - tar 的警告信息(如 "Removing leading '/' from member names") 被 $(backup_folders) 捕获到 folders_tar 变量 - 导致 merge_backups() 收到的不是文件路径而是 tar 输出 - 最终备份文件中缺少 folders 目录 修复方案: - 将 tar 命令改为 2>&1 >&2 - 先将 stderr 重定向到 stdout (2>&1) - 再将合并后的 stdout 重定向到 stderr (>&2) - 确保 tar 的所有输出都到 stderr,不干扰函数返回值 影响: - 修复后文件夹备份会正确包含在最终备份文件中 - 用户可以正常恢复文件夹数据
12 KiB
Executable File
12 KiB
Executable File