快速创建项目神器-项目克隆脚本

2023-02-22 15:24:20 浏览数 (1)

现在大家都流行用微服务,所以需要创建新项目的频率也越来越高。在此分享一段基于模板项目生成新项目的脚本。原理很简单,关键词替换,所以新建服务名尽量使用辨识度高的

模板项目:templatev1-service

代码语言:javascript复制
#!/bin/sh
if [ ! -n "$1" ] ;then  
    echo "请输入项目名"   
    exit 0
fi 
MOUDLE_NAME=$1
PROJECT_NAME="$1-service"
echo "PROJECT_NAME : $PROJECT_NAME"
NEW_BASE_DIR=../$PROJECT_NAME
if [ -d "$$EW_BASE_DIR" ] ;then  
    echo "项目$PROJECT_NAME 已存在"   
    exit 0
fi 
mkdir -p $NEW_BASE_DIR
doCopy() {
   for file in $1/*; do
	if [ -d "$file" ]; then
    if [[ "$file" =~ "target" ]]; then
        continue
      fi
     dir=${file:2}
     dir=$NEW_BASE_DIR/${dir//templatev1/$MOUDLE_NAME}
     mkdir -p $dir
     echo "mkdir  $dir  ok!!"
     doCopy $file
    elif [ -f $file ]; then
      if [[ "$file" =~ "cloneproject.sh" ]]; then
        continue
      fi
      newfile=${file//templatev1/$MOUDLE_NAME}
      newfile=$NEW_BASE_DIR${newfile:1}
      cp $file $newfile
      echo "copy $newfile OK."
    fi
  done
}
doCopy .

cd ../$PROJECT_NAME


REPLACE_COMMOND="find $NEW_BASE_DIR -name '*.*' | xargs perl -pi -e 's|templatev1|$MOUDLE_NAME|g'"
sh -c "$REPLACE_COMMOND"
echo ">>创建 $PROJECT_NAME 完成"

用法:

代码语言:javascript复制
./cloneProject.sh user

将生成新的项目user-service

推荐:在线生成项目

0 人点赞