gitpulls.sh 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #!/bin/bash
  2. #echo $0 # 当前脚本的文件名(间接运行时还包括绝对路径)。
  3. #echo $n # 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1 。
  4. #echo $# # 传递给脚本或函数的参数个数。
  5. #echo $* # 传递给脚本或函数的所有参数。
  6. #echo $@ # 传递给脚本或函数的所有参数。被双引号 (" ") 包含时,与 $* 不同,下面将会讲到。
  7. #echo $? # 上个命令的退出状态,或函数的返回值。
  8. #echo $$ # 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。
  9. #echo $_ # 上一个命令的最后一个参数
  10. #echo $! # 后台运行的最后一个进程的 ID 号
  11. usage () {
  12. echo "e.g. ./gitpulls.sh master master master master master master
  13. 使用说明,参数要和下面库顺序一致,自动切换分支并更新如下库:
  14. BFAnalyzeKit
  15. BFCommonKit
  16. BFFramework
  17. BFMaterialKit
  18. BFNetRequestKit
  19. BFUIKit"
  20. echo "参数为空或个数不对,查看使用说明。"
  21. exit 0
  22. }
  23. echo '正确参数为6个,现输入:' $# '个'
  24. if (($# < 6)); then
  25. usage
  26. fi
  27. ##更新所有库,1,进入到指定目录,2,切换指定分支,3,更新代码 4,回到上层目录
  28. cd ../BFAnalyzeKit
  29. git checkout $1
  30. git pull
  31. cd ..
  32. cd ./BFCommonKit
  33. git checkout $2
  34. git pull
  35. cd ..
  36. cd ./BFFramework
  37. git checkout $3
  38. git pull
  39. cd ..
  40. cd ./BFMaterialKit
  41. git checkout $4
  42. git pull
  43. cd ..
  44. cd ./BFNetRequestKit
  45. git checkout $5
  46. git pull
  47. cd ..
  48. cd ./BFUIKit
  49. git checkout $6
  50. git pull
  51. cd ..
  52. echo "pull is done ..."