一个区分不同设备的脚本

前端之家收集整理的这篇文章主要介绍了一个区分不同设备的脚本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. #!/bin/bash
  2. #Program
  3. #Thisprogramconfigoltproductstype
  4. #VersionV1.0
  5. #Authorzhaoxiaohu
  6. #History
  7. #2018/01/29Firstrelease
  8.  
  9. exportSWHOME=$(cd`dirname$0`;pwd)
  10. echo"exportSWHOME=$SWHOME"
  11. echo""
  12. echo"[1]makeEPON"
  13. echo"[2]makeXGEPON"
  14. echo"[0]makeclean"
  15. read-p"SelectProductTypeNO.:"ProductType
  16. #1代表epon,2代表xgepon,3代码clean
  17. if[$ProductType-eq1];then
  18. PRODUCT=EPON
  19. PRODUCT_TYPE=EPON
  20. elif[$ProductType-eq2];then
  21. PRODUCT=XGEPON
  22. PRODUCT_TYPE=XGEPON
  23. elif[$ProductType-eq0];then
  24. makeclean
  25. echo"============================="
  26. echo"MakeCleanSuccessfully!!"
  27. echo"============================="
  28. exit0
  29. else
  30. echo"SelectError!"
  31. exit0
  32. fi
  33.  
  34. echo"Youselectmake${PRODUCT}"
  35.  
  36.  
  37. readLINE_READ<${SWHOME}/products_config.h
  38. LINE_WRITE="#definePRODUCT_CLASSPRODUCTS_${PRODUCT}"
  39. #生成.h文件,里面#define你的选择
  40. if["$LINE_READ"!="$LINE_WRITE"]
  41. then
  42. echo-e"$LINE_WRITE">${SWHOME}/products_config.h
  43. fi
  44.  
  45. functionmake_product(){
  46. ifmake$1
  47. then
  48. echo"============================="
  49. echo"make${PRODUCT}successfully!!"
  50. echo"============================="
  51. else
  52. echo"====================="
  53. echo"make${PRODUCT}error!"
  54. echo"====================="
  55. fi
  56. }
  57.  
  58. sleep1
  59.  
  60. if[${PRODUCT}=="EPON"]
  61. then
  62. make_product"v=EPON"
  63. elif[${PRODUCT}=="XGEPON"]
  64. then
  65. make_product"v=XGEPON"
  66. else
  67. echo"SelectError!"
  68. exit0
  69. fi

解释:这个方法是一个简单的区分不同设备去执行不同代码段;还有一种在Makefile中定义宏的方法


目的:我现在要区分两个不同的设备,xgepon和epon,通过执行这个脚本的选项,你可以生成一个文件

  1. /products_config.h

这个文件里会有你选择的两个宏的其中一个,对应你的选项的宏,你在要区分的文件中包含这个文件,#if就可以。

猜你在找的Bash相关文章