#!/bin/bash #Program #Thisprogramconfigoltproductstype #VersionV1.0 #Authorzhaoxiaohu #History #2018/01/29Firstrelease exportSWHOME=$(cd`dirname$0`;pwd) echo"exportSWHOME=$SWHOME" echo"" echo"[1]makeEPON" echo"[2]makeXGEPON" echo"[0]makeclean" read-p"SelectProductTypeNO.:"ProductType #1代表epon,2代表xgepon,3代码clean if[$ProductType-eq1];then PRODUCT=EPON PRODUCT_TYPE=EPON elif[$ProductType-eq2];then PRODUCT=XGEPON PRODUCT_TYPE=XGEPON elif[$ProductType-eq0];then makeclean echo"=============================" echo"MakeCleanSuccessfully!!" echo"=============================" exit0 else echo"SelectError!" exit0 fi echo"Youselectmake${PRODUCT}" readLINE_READ<${SWHOME}/products_config.h LINE_WRITE="#definePRODUCT_CLASSPRODUCTS_${PRODUCT}" #生成.h文件,里面#define你的选择 if["$LINE_READ"!="$LINE_WRITE"] then echo-e"$LINE_WRITE">${SWHOME}/products_config.h fi functionmake_product(){ ifmake$1 then echo"=============================" echo"make${PRODUCT}successfully!!" echo"=============================" else echo"=====================" echo"make${PRODUCT}error!" echo"=====================" fi } sleep1 if[${PRODUCT}=="EPON"] then make_product"v=EPON" elif[${PRODUCT}=="XGEPON"] then make_product"v=XGEPON" else echo"SelectError!" exit0 fi
解释:这个方法是一个简单的区分不同设备去执行不同代码段;还有一种在Makefile中定义宏的方法。
目的:我现在要区分两个不同的设备,xgepon和epon,通过执行这个脚本的选项,你可以生成一个文件
/products_config.h