satcmd.skel 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #!/bin/bash
  2. . "$(shellfu-get path)" || exit 3
  3. shellfu import exit
  4. shellfu import inigrep
  5. shellfu import pretty
  6. #
  7. # =====BEGIN BUILT PART=====
  8. #
  9. SHELLFU_INIGREP_PATH="$(
  10. inigrep__mkpath \
  11. __SATURNIN_CONFIG_USER__/ini.d \
  12. __SATURNIN_CONFIG_USER__ \
  13. __SATURNIN_CONFIG_LOCAL__ \
  14. __SATURNIN_SHARE__/ini.d
  15. )"
  16. SATURNIN_APP_CODENAME="__MKIT_PROJ_CODENAME__"
  17. SATURNIN_APP_TAGLINE="__MKIT_PROJ_TAGLINE__"
  18. SATURNIN_APP_VERSION="__MKIT_PROJ_VERSION__"
  19. SATURNIN_CACHE_HOME="__SATURNIN_CACHE_HOME__"
  20. SATURNIN_LIBEXEC="__SATURNIN_LIBEXEC__"
  21. SATURNIN_LIBEXEC_PREFIX="satcmd-"
  22. SHELLFU_PATH="__SATURNIN_SHELLFU_DIR__"
  23. SHELLFU_PRETTY_USAGE="subcommand"
  24. #
  25. # =====END BUILT PART=====
  26. #
  27. shellfu import saturnin
  28. export SHELLFU_INIGREP_PATH SHELLFU_PATH SHELLFU_PRETTY_USAGE \
  29. SATURNIN_CACHE_HOME
  30. usage() {
  31. mkusage "[-d|-v] command [args...]" \
  32. "help" \
  33. "--version"
  34. }
  35. main() {
  36. local subcommand
  37. while true; do case $1 in
  38. -d|--debug) export SHELLFU_DEBUG=true; shift ;;
  39. -v|--verbose) export SHELLFU_VERBOSE=true; shift ;;
  40. --version) saturnin__version; exit ;;
  41. --version-semver) echo "$SATURNIN_APP_VERSION"; exit ;;
  42. -*) usage; ;;
  43. --*) usage; ;;
  44. --) shift; break ;;
  45. "") usage; ;;
  46. *) break; ;;
  47. esac done
  48. subcommand="$1"; shift
  49. export SATURNIN_SUBCOMMAND="$subcommand"
  50. debug -v SHELLFU_PATH SATURNIN_LIBEXEC SHELLFU_INIGREP_PATH SATURNIN_SUBCOMMAND
  51. debug "\$*='$*'"
  52. case "$subcommand" in
  53. conf) inigrep "$@" ;;
  54. help) saturnin__help ;;
  55. _ls_subcommands) saturnin__lssc ;;
  56. _lsfun) shellfu-get lsfun ;;
  57. _lsmod) shellfu-get lsmod ;;
  58. _ffrun) ffrun "$@" ;;
  59. *) saturnin__runsc "$@" ;;
  60. esac
  61. }
  62. main "$@"