前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux Shell--判断文件夹是否存在

Linux Shell--判断文件夹是否存在

作者头像
None_Ling
发布2019-03-22 15:42:38
6.2K0
发布2019-03-22 15:42:38
举报
文章被收录于专栏:Android相关

背景

最近在优化持续集成平台,原来耗时1个半小时,现在优化到只需要15分钟即可。而从git上拉取代码的时间从15分钟降低到了12秒。

原来的方式

原来的打包,为了避免Gradle在Build过程中的缓存影响打包

  1. 清除掉所有的代码以及缓存
  2. 重新git clone所有仓库
  3. 将部分子模块重新mv到对应的目录下
  4. 开始Gradle打包

现在的方式

提供了Git仓库的缓存,只有第一次更新,后续增量更新代码,再cp到构建目录下进行打包

  1. Workspace中专为仓库建立了目录
  2. 第一次git clone代码,后续都会进行git pull增量更新代码
  3. 在打包的过程中会将仓库中的代码cp 到构建的目录下
  4. 将部分子模块重新mv到对应的目录下
  5. 开始Gradle打包

在Shell中定义函数

在Shell中定义函数,与其他语言差不多,只是参数不用指定,使用$1则代表获取第一个参数,同理$2$3...则代表对应的参数,而在调用时,使用空格即可传递参数。

代码语言:javascript
复制
cloneOrUpdateRespority(){
    # 定义第一个参数为仓库名
    respority=$1
    echo $respority 
}
##调用函数
cloneOrUpdateRespority test

判断文件夹是否存在

通过-d "test"来判断文件夹是否存在

代码语言:javascript
复制
if [ -d 'test' ] && [ -d "${test}/.git" ];then
      echo "Git仓库存在"
else 
      echo "Git仓库不存在"
fi

if-else的使用

通过使用if-then-elseif-else-fi来完成if语句的判断

  1. if后的&&以及||的逻辑判断则需要使用多个[]来判断
  2. 需要注意的是,if后需要加个空格,所有的[]的前后都需要加空格来分割语句判断,否则会报警告line 9: [: missing "]"
  3. 在使用if-fi的时候,必须要配对,也就是5个if就需要有5个fi,否则就会报[Syntax Error: Unexpected End of File]
代码语言:javascript
复制
if [ -d 'test' ] && [ -d "${test}/.git" ];then
     # 存在test以及test中的.git,则认为test库曾经被拉到本地
     cd ${respority}
     git reset --hard HEAD
     git pull
     cd ..
else
      #如果不存在,则需要clone
      git clone -b ${Branch_Name} giturl/${respority} --depth 1
fi
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.03.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
    • 原来的方式
      • 现在的方式
        • 在Shell中定义函数
          • 判断文件夹是否存在
            • if-else的使用
            相关产品与服务
            持续集成
            CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档