本地开发每次手动打包压缩主题文件夹感觉都挺难受的,今天刚好看到xiamp
博主写的cmd
脚本,想着mac
下应该也能实现类似的,左右就问ai
帮我写写。
代码
把下面的代码保存为pick.command
,放到主题目录下,双击即可打包主题到主题目录下
#!/bin/bash
# 设置变量
current_directory=$(dirname "$0")
# 创建排除A文件夹的压缩包
cd "$current_directory"
# 从index.php文件中提取版本号和主题名
VERSION=$(grep -Eo '\*\s+@version\s+([0-9.]+)' index.php | grep -Eo '[0-9.]+')
THEME=$(grep -Eo '\*\s+@package\s+[a-zA-Z0-9.]+' index.php | awk '{print $NF}')
excluded_folder="node_modules"
zip_date=$(date '+%Y%m%d') # 获取当前日期,格式为年月日,备用
zip_filename="$THEME($VERSION)" # 在文件名中添加版本号
zip -r "../$THEME/$zip_filename.zip" "../$THEME" --exclude "../$THEME/$excluded_folder/*"
# tar -czf "../$THEME/$zip_filename.tar.gz" -C "../$THEME" --exclude "$excluded_folder" .
echo "压缩包已创建:../$THEME/$zip_filename"
说明
默认打包后的压缩包名字为 主题名(主题版本号)
,如果想改为日期形式可将zip_filename="$THEME($VERSION)"
改为zip_filename="$THEME($zip_date)"
。
其中node_modules
为排除的文件夹,就是主题文件夹里面node_modules
这个文件夹不进行打包。
打包后的zip
压缩包用mac电脑自带的解压工具无法解压,感觉应该是因为打包的信息缺少Mac
需要的文件信息,此时如果想在Mac电脑上解压,需要用其他解压工具才能解压。
或者把
zip -r "../$THEME/$zip_filename.zip" "../$THEME" --exclude "../$THEME/$excluded_folder/*"
# tar -czf "../$THEME/$zip_filename.tar.gz" -C "../$THEME" --exclude "$excluded_folder" .
改成
# zip -r "../$THEME/$zip_filename.zip" "../$THEME" --exclude "../$THEME/$excluded_folder/*"
tar -czf "../$THEME/$zip_filename.tar.gz" -C "../$THEME" --exclude "$excluded_folder" .
这样就改成tar.gz
格式的压缩包了,Mac电脑默认就能解压了,不过我还是喜欢zip
哈!
评论区