entrypoint.sh 873 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. #set -x
  3. #******************************************************************************
  4. # @file : entrypoint.sh
  5. # @author : wangyubin
  6. # @date : 2018-08- 1 10:18:43
  7. #
  8. # @brief : entry point for manage service start order
  9. # history : init
  10. #******************************************************************************
  11. : ${SLEEP_SECOND:=2}
  12. wait_for() {
  13. echo Waiting for $1 to listen on $2...
  14. while ! nc -z $1 $2; do echo waiting...; sleep $SLEEP_SECOND; done
  15. }
  16. declare DEPENDS
  17. declare CMD
  18. while getopts "d:c:" arg
  19. do
  20. case $arg in
  21. d)
  22. DEPENDS=$OPTARG
  23. ;;
  24. c)
  25. CMD=$OPTARG
  26. ;;
  27. ?)
  28. echo "unkonw argument"
  29. exit 1
  30. ;;
  31. esac
  32. done
  33. for var in ${DEPENDS//,/ }
  34. do
  35. host=${var%:*}
  36. port=${var#*:}
  37. wait_for $host $port
  38. done
  39. eval $CMD