Post

shell复制文件夹并压缩文件夹

shell复制文件夹并压缩文件夹

前言

在之前做自动打包时,将dSYM上传到firebase后就删掉了,不知道是打包时没上传成功(不太可能,其他同版本的都已经能解析出崩溃,说明已经上传了)还是被人重新编译还是别的原因,firebase上提示有部分错误没有符号文件,于是特别做下修改,把线上环境的dSYM文件保留备份一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
SCHEMECA="XXX"
archive_xcarchive_path="/xx/xxxxx"
# 配置备份文件夹的路径
dSYM_out_dir="$HOME/Desktop/dSYMs_back"
if [ ! -d $dSYM_out_dir ]; then
# 没有文件夹,创建文件夹
mkdir "${dSYM_out_dir}"
fi
# 获取当前的执行路径
echo "当前路径是-pre: $(pwd)"
current_path=$(pwd)
# 获取打包的archive里的xxx.app.dSYM文件路径
archive_dSYM_path="${archive_xcarchive_path}/dSYMs/${SCHEMECA}.app.dSYM"
# 设置名称
bk_name="xxxx_${SCHEMECA}"
# 将dSYM文件复制到备份文件夹里
cp -r "${archive_dSYM_path}" "${dSYM_out_dir}/${bk_name}.app.dSYM"
# 进入备份文件夹,如果不进入压缩后的文件打开后包含了一些多余的路径
cd $dSYM_out_dir
echo "当前路径是-zip: $(pwd)"
# 将dSYM文件压缩为zip文件
zip -r "${bk_name}.zip" "${bk_name}.app.dSYM"
# 删除dSYM文件,减少空间占用
rm -rf "${bk_name}.app.dSYM"
# 返回原始执行路径,防止影响到其他命令执行
cd $current_path
echo "当前路径是-after: $(pwd)"
This post is licensed under CC BY 4.0 by the author.