# 2021华为软件精英挑战赛C/C++——build.sh/build_and_run.sh/CodeCraft_zip.sh注释

2021华为软件精英挑战赛C/C++——build.sh/build_and_run.sh/CodeCraft_zip.sh注释

1、build.sh

#!/bin/bash

SCRIPT=$(readlink -f "$0") #$0为脚本名,$(readlink -f "$0")子shell里执行一条命令返回该脚本绝对路径并赋值给SCRIPT
BASEDIR=$(dirname "$SCRIPT") #将当前脚本路径赋值给BASEDIR
cd $BASEDIR #切换到当前脚本目录

if [ ! -d CodeCraft-2021 ] #判断CodeCraft-2021是不是目录,如果不是目录进行then
then
    echo "ERROR: $BASEDIR is not a valid directory of SDK_C++ for CodeCraft-2021." #输出错误提示$BASEDIR不是有效目录
    echo "  Please run this script in a regular directory of SDK_C++." #提示请在SDK_C++里运行该脚本
    exit -1 #返回-1
fi
cmake --version 2>&1 #判断cmake版本
tmp=$? #上一句执行的返回值赋值给tmp
if [ ${tmp} -ne 0 ] #tmp!=0
then
    echo "ERROR: You should install cmake(2.8 or later) first." #提示安装cmake2.8版本或者更高版本
    echo "  Please goto https://cmake.org to download and install it." #提示去cmake论坛下载
    exit
fi

rm -fr bin #删除bin文件夹
mkdir bin	#创建bin文件夹
rm -fr build #删除build文件夹
mkdir build #创建build文件夹
cd build #切换目录至build

cmake ../CodeCraft-2021 #编译build上一个文件下的CodeCraft-2021,在CMakeLists.txt指导下,并生成Makefile文件
tmp=$? #命令返回值赋值给tmp
echo "cmake return:" ${tmp} #输出${tmp}
if [ ${tmp} -ne 0 ] #如果${tmp}不等于0
then
 echo "cmake <>return:" ${tmp}  #输出${tmp}
 exit -1 #退出并返回-1
fi

make #执行make命令
tmp=$? #命令返回值赋值给tmp
 echo "make return:" ${tmp}#输出${tmp}
if [ ${tmp} -ne 0 ] #如果${tmp}不等于0
then
echo "make <>return:" ${tmp}#输出#输出
 exit -1 #退出并返回-1
fi

2、build_and_run.sh

#!/bin/bash

SCRIPT=$(readlink -f "$0") #$0为脚本名,$(readlink -f "$0")子shell里执行一条命令返回该脚本绝对路径并赋值给SCRIPT
BASEDIR=$(dirname "$SCRIPT") #将当前脚本路径赋值给BASEDIR
cd $BASEDIR #切换到当前脚本目录

sh build.sh #执行build.sh脚本
cd bin #切换到bin文件夹下
./CodeCraft-2021 #执行./CodeCraft-2021

3、CodeCraft_zip.sh

#!/bin/bash

SCRIPT=$(readlink -f "$0") #$0为脚本名,$(readlink -f "$0")子shell里执行一条命令返回该脚本绝对路径并赋值给SCRIPT
BASEDIR=$(dirname "$SCRIPT") #将当前脚本路径赋值给BASEDIR
cd $BASEDIR #切换到当前脚本目录

if [ ! -d CodeCraft-2021 ] #判断CodeCraft-2021是不是目录,如果不是目录进行then
then
    echo "ERROR: $BASEDIR is not a valid directory of SDK_C++ for CodeCraft-2021." #输出错误提示$BASEDIR不是有效目录
    echo "  Please run this script in a regular directory of SDK_C++." #提示请在SDK_C++里运行该脚本
    exit -1 #返回-1
fi

rm -f CodeCraft-2021.zip #删除CodeCraft-2021.zip,不管其存不存在
zip -r CodeCraft-2021.zip * #压缩CodeCraft-2021文件夹

有不对的地方欢迎批评指正。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值