首先,我们要切换到要压缩的目录下。
然后,可以使用for循环来遍历目录中的子文件夹,并执行压缩操作。代码示例如下:
#!/bin/bash
# 切换到要压缩的目录下
cd /path/to/directory
# 遍历目录中的子文件夹并压缩
for folder in */
do
zip -r "${folder%/}.zip" "$folder"
done
这会压缩目录下的所有子文件夹,并将它们分别命名为对应的文件名加上“.zip”后缀。例如,如果目录下有一个名为“subfolder”的子文件夹,那么压缩后的文件名将为“subfolder.zip”。
在代码中,我们使用了“${folder%/}”来获取文件名,这是因为“/”符号在变量中扮演着结束符的角色。通过使用“${folder%/}”,我们可以在不包含此符号的情况下获取文件名。
另外,我们使用了“-r”选项来递归地压缩子文件夹中的所有内容。
最后,保存并执行脚本即可压缩目录中的所有子文件夹。