一、Shell脚本模板结构(项目模板生成)
目录结构 - `bin/`:存放可执行文件(如`script.sh`)
- `config/`:配置文件(如`config.sh`)
- `README.md`:项目说明文档
模板生成脚本示例
```bash
!/bin/bash
check_project_name.sh
if [ -z "$1" ]; then
echo "Usage: $0 exit 1 fi PROJECT_NAME=$1 mkdir -p "${PROJECT_NAME}/bin" mkdir -p "${PROJECT_NAME}/config" cp bin_template/script.sh "${PROJECT_NAME}/bin/script.sh" cp config_template/config.sh "${PROJECT_NAME}/config/config.sh" cp README_template.md "${PROJECT_NAME}/README.md" echo "Project '${PROJECT_NAME}' has been created!" ``` 二、Bash脚本模板结构(基础脚本) 安全与可维护性 - 使用`set -euo pipefail`提升脚本健壮性 - 定义日志函数和错误退出函数 模块化结构 ```bash !/bin/bash basic.sh log() { echo "$(date '+%Y-%m-%d %H%M%S') [INFO] $1" >> script.log } error_exit() { echo "$(date '+%Y-%m-%d %H%M%S') [ERROR] $1" >> script.log exit 1 } main() { log "脚本开始运行" 示例命令 check_file_exists /etc/passwd check_file_exists /nonexistent/file } check_file_exists() { if [ ! -f "$1" ]; then echo "文件不存在: $1" error_exit fi } main "$@" ``` 三、自动化部署脚本模板 环境准备 - 创建专用用户(如`www`)并设置权限 - 定义部署目录结构(如`/deploy`) 部署流程 ```bash !/bin/bash deploy.sh SOURCE_DIR="/path/to/web-demo.git" TARGET_DIR="/webroot" GIT_USER="www" GIT_PASS="your_password" 建议使用SSH密钥 创建目录结构 mkdir -p "${TARGET_DIR}/code" "${TARGET_DIR}/config" "${TARGET_DIR}/tmp" /opt/webroot 切换用户并执行部署 sudo -u ${GIT_USER} git clone "${SOURCE_DIR}" "${TARGET_DIR}" sudo chown -R ${GIT_USER}:${GIT_USER] "${TARGET_DIR}" 其他部署操作(如压缩、重启服务等) ``` 四、注意事项 参数化与扩展性: 使用脚本参数(如`-f`指定文件,`-o`指定输出目录)提升灵活性 通过函数封装错误逻辑,避免脚本崩溃 提供`README.md`说明使用方法,或设计模板文件结构 以上模板可根据具体需求进行扩展,例如为粒子系统创建Unity模板,或集成AI工具生成脚本。建议根据项目类型选择合适模板,并结合自动化工具(如Git、Docker)提升效率。错误处理:
文档与模板: