生成自动创建 安卓layout各个尺寸的文件夹,并跳过已存在的目录
#!/bin/bash
# 检查是否提供了目标目录作为参数
if [ $# -eq 0 ]; then
echo "请提供目标目录作为参数。"
exit 1
fi
# 获取用户提供的目标目录
TARGET_DIR="$1"
# 定义需要创建的不同尺寸和属性的后缀列表
SUFFIXES=(
"small"
"normal"
"large"
"xlarge"
"ldpi"
"mdpi"
"hdpi"
"xhdpi"
"xxhdpi"
"xxxhdpi"
"sw320dp"
"sw360dp"
"sw480dp"
"sw600dp"
"sw720dp"
"land"
"port"
"large-land"
"xlarge-land"
)
# 构建基础 layout 目录
LAYOUT_DIR="$TARGET_DIR/layout"
if [ ! -d "$LAYOUT_DIR" ]; then
# 确保基础 layout 目录存在
mkdir -p "$LAYOUT_DIR"
else
echo "目录 $LAYOUT_DIR 已存在,跳过。"
fi
# 遍历后缀列表
for suffix in "${SUFFIXES[@]}"
do
target_folder="$LAYOUT_DIR-$suffix"
if [ ! -d "$target_folder" ]; then
mkdir -p "$target_folder"
echo "创建目录: $target_folder"
else
echo "目录 $target_folder 已存在,跳过。"
fi
done
echo "所有 layout 目录处理完成。"
脚本说明:
1.参数检查:脚本首先检查是否提供了目标目录作为参数,如果没有提供,则输出提示信息并退出脚本。
2.获取目标目录:使用 $1 获取用户提供的第一个参数,即目标目录。
3.定义后缀列表:SUFFIXES 数组包含了常见的 Android 屏幕尺寸、密度和方向的后缀。
4.构建基础目录:将目标目录和 layout 拼接成基础 layout 目录路径。
5.创建基础目录:使用 mkdir -p 确保基础 layout 目录存在。
6.遍历后缀创建文件夹:
- 对于每个后缀,构建完整的目标文件夹路径。
- 使用 [ ! -d "$target_folder" ] 检查文件夹是否已经存在。
- 如果不存在,则使用 mkdir -p 创建文件夹并输出创建信息;如果存在,则输出跳过信息。
- 完成提示:最后输出所有 layout 目录处理完成的提示信息。
使用方法:
1.将上述脚本保存为一个文件,例如 create_android_layout_folders.sh。
2.给脚本添加执行权限:
chmod +x create_android_layout_folders.sh
3.在终端中运行脚本,并传入目标目录作为参数,例如:
./create_android_layout_folders.sh /path/to/your/project/res
运行脚本后,会在指定的目标目录下按需创建相应的 layout 文件夹,同时跳过已经存在的目录。