Bash脚本 - 压缩一个存档中的多个目录

Mic*_*son 3 bash shell

我一段时间制作了一个脚本,zip用于压缩几个不同的用户指定目录.脚本执行此操作的方式是它将从中读取目录config.txt并单独压缩每个目录.事实恰恰相反,对于我的用途,所有这些目录都在同一个父目录中.例如,我的目录中将包含以下/Users/username/目录:

Desktop
Documents
Pictures
Run Code Online (Sandbox Code Playgroud)

有没有办法将这3个组合在同一档案中?

作为参考,这是我当前的脚本:

BKUPDATE="/Users/michaelgarrison/Backup/BKUP_"$(date +%Y)-$(date +%m)-$(date +%d)

# Create the Backup directory if it does not exist
mkdir -p $BKUPDATE

# File where directories are specified
CONFIG="config.txt"

while read SOURCE
do
    DESTINATION="/Users/michaelgarrison/"
    OUTPUT=$BKUPDATE"/Backup_"$SOURCE"_"$(date +%Y)-$(date +%m)-$(date +%d)".zip"
    (cd /Users/michaelgarrison/; zip -r $OUTPUT $SOURCE)
done < $CONFIG
Run Code Online (Sandbox Code Playgroud)

Hay*_*den 11

zip -r backup Desktop/* Documents/* Pictures/*

这将压缩名为的文件下的桌面,文档和图片下的所有文件 backup.zip

排序的诀窍是从config.txt文件读取列表,可能是一个垂直列表或数组,并使其成为一个长字符串.