56 lines
1.1 KiB
Bash
Executable File
56 lines
1.1 KiB
Bash
Executable File
#!/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 <command> [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
|
|
|