#!/bin/bash # ********** 环境变量定义 ********** # # 应用所在目录 APP_HOME=$(cd "$(dirname "$0")" && pwd) # 应用名称 APP_NAME=$(basename "$APP_HOME") APP_NAME="${APP_NAME#app-}" # 扩展环境变量定义 if [ -f "$APP_HOME/.env" ]; then . "$APP_HOME/.env" fi app_usage() { echo "usage: $0 [args]" echo; echo "commands:" if [ -d "$APP_HOME/mods" ]; then for file in "$APP_HOME"/mods/*.sh; do if [ -f "$file" ]; then filename=$(basename "$file") cmd_name=${filename#app-} cmd_name=${cmd_name%.sh} echo " $cmd_name" fi done fi echo; echo "args:" echo " -h, --help show the help documentation" echo " -v, --version show the version" } app_handle() { if [ ! -f "$APP_HOME/mods/$1.sh" ]; then echo "Error: unknown command [$1]" exit 1 fi . "$APP_HOME/mods/$1.sh" } case "$1" in -h|--help|"") app_usage ;; -v|--version) echo "v0.0.1" ;; *) app_handle $@ ;; esac