satcmd.skel 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. __SATCMD_CONFIG_USER__/ini.d \
  12. __SATCMD_CONFIG_USER__ \
  13. __SATCMD_CONFIG_LOCAL__ \
  14. __SATCMD_SHARE__/ini.d
  15. )"
  16. SHELLFU_PATH="__SATCMD_SHELLFU_DIR__"
  17. SHELLFU_PRETTY_USAGE="subcommand"
  18. SATCMD_CACHE_HOME="__SATCMD_CACHE_HOME__"
  19. SATURNIN_LIBEXEC="__SATCMD_LIBEXEC__"
  20. SATURNIN_LIBEXEC_PREFIX="satcmd-"
  21. SATCMD_VERSION="__VERSION__"
  22. #
  23. # =====END BUILT PART=====
  24. #
  25. shellfu import saturnin
  26. export SHELLFU_INIGREP_PATH SHELLFU_PATH SHELLFU_PRETTY_USAGE \
  27. SATCMD_VERSION SATCMD_CACHE_HOME
  28. usage() {
  29. mkusage "[-d|-v] command [args...]" \
  30. "help" \
  31. "--version"
  32. }
  33. version_info() {
  34. echo "$(basename "$0") (Spirit of your toolbox) $SATCMD_VERSION"
  35. exit "$SHELLFU_EXIT_OK"
  36. }
  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) version_info ;;
  41. --version-semver) echo "$SATCMD_VERSION"; exit ;;
  42. -*) usage; ;;
  43. --*) usage; ;;
  44. --) shift; break ;;
  45. "") usage; ;;
  46. *) break; ;;
  47. esac done
  48. debug -v SHELLFU_PATH SATURNIN_LIBEXEC SHELLFU_INIGREP_PATH
  49. debug "\$*='$*'"
  50. export SATURNIN_SUBCOMMAND="$1"
  51. shift
  52. case "$SATURNIN_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