v0.0.2
This commit is contained in:
53
app.sh
53
app.sh
@ -1,16 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 环境变量
|
||||
APP_DIR=$(cd "$(dirname "$0")" && pwd)
|
||||
# ********** 环境变量定义 **********
|
||||
#
|
||||
# 应用所在目录
|
||||
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
|
||||
|
||||
# 执行命令
|
||||
if [ -f "$APP_DIR/cmds/app-$1.sh" ]; then
|
||||
. "$APP_DIR/cmds/app-$1.sh"
|
||||
else
|
||||
echo "Error: usage: ./app.sh <command>"
|
||||
app_usage() {
|
||||
echo "usage: $0 <command> [args]"
|
||||
echo;
|
||||
echo "commands:"
|
||||
if [ -d "$APP_DIR/cmds" ]; then
|
||||
for file in "$APP_DIR"/cmds/app-*.sh; do
|
||||
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-}
|
||||
@ -19,4 +26,30 @@ else
|
||||
fi
|
||||
done
|
||||
fi
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user