Compare commits
3 Commits
v0.0.1
...
ee594c6cdf
| Author | SHA1 | Date | |
|---|---|---|---|
| ee594c6cdf | |||
| 8525140e7b | |||
| 95c179787c |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.env
|
||||||
53
app.sh
53
app.sh
@ -1,16 +1,23 @@
|
|||||||
#!/bin/bash
|
#!/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
|
||||||
|
|
||||||
# 执行命令
|
app_usage() {
|
||||||
if [ -f "$APP_DIR/cmds/app-$1.sh" ]; then
|
echo "usage: $0 <command> [args]"
|
||||||
. "$APP_DIR/cmds/app-$1.sh"
|
echo;
|
||||||
else
|
|
||||||
echo "Error: usage: ./app.sh <command>"
|
|
||||||
echo "commands:"
|
echo "commands:"
|
||||||
if [ -d "$APP_DIR/cmds" ]; then
|
if [ -d "$APP_HOME/mods" ]; then
|
||||||
for file in "$APP_DIR"/cmds/app-*.sh; do
|
for file in "$APP_HOME"/mods/*.sh; do
|
||||||
if [ -f "$file" ]; then
|
if [ -f "$file" ]; then
|
||||||
filename=$(basename "$file")
|
filename=$(basename "$file")
|
||||||
cmd_name=${filename#app-}
|
cmd_name=${filename#app-}
|
||||||
@ -19,4 +26,30 @@ else
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
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
|
||||||
|
|
||||||
|
|||||||
@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-frpc"
|
|
||||||
APP_TMUX_COMMAND="frpc -c $APP_DIR/conf/frpc.toml"
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
if [ ! -f "$APP_DIR/conf/frpc.toml" ]; then
|
|
||||||
echo "Error: frpc config not exists."
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -n "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "Error: tmux session [$APP_TMUX_SESSION] already exists."
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
echo "starting..."
|
|
||||||
tmux new-session -d -s "$APP_TMUX_SESSION"
|
|
||||||
sleep 3
|
|
||||||
tmux send-keys -t "$APP_TMUX_SESSION" "$APP_TMUX_COMMAND" Enter
|
|
||||||
tmux attach -t "$APP_TMUX_SESSION"
|
|
||||||
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-frpc"
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -z "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "tmux session [$APP_TMUX_SESSION] not exists."
|
|
||||||
else
|
|
||||||
echo "tmux session [$APP_TMUX_SESSION] => $_TMP_TMUX_SESSION"
|
|
||||||
tmux attach -t $APP_TMUX_SESSION
|
|
||||||
fi
|
|
||||||
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-frpc"
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -z "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "Error: tmux session [$APP_TMUX_SESSION] not exists."
|
|
||||||
else
|
|
||||||
echo "stop tmux session [$APP_TMUX_SESSION] => $_TMP_TMUX_SESSION"
|
|
||||||
sleep 3
|
|
||||||
tmux kill-session -t "$APP_TMUX_SESSION"
|
|
||||||
fi
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
if [ -z "$APP_TMUX_SESSION" ]; then
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-tmux"
|
|
||||||
fi
|
|
||||||
if [ -z "$APP_TMUX_COMMAND" ]; then
|
|
||||||
APP_TMUX_COMMAND="echo hello"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -n "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "Error: tmux session [$APP_TMUX_SESSION] already exists."
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
echo "starting..."
|
|
||||||
tmux new-session -d -s "$APP_TMUX_SESSION"
|
|
||||||
sleep 3
|
|
||||||
tmux send-keys -t "$APP_TMUX_SESSION" "$APP_TMUX_COMMAND" Enter
|
|
||||||
tmux attach -t "$APP_TMUX_SESSION"
|
|
||||||
|
|
||||||
@ -1,16 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
if [ -z "$APP_TMUX_SESSION" ]; then
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-tmux"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -z "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "tmux session [$APP_TMUX_SESSION] not exists."
|
|
||||||
else
|
|
||||||
echo "tmux session [$APP_TMUX_SESSION] => $_TMP_TMUX_SESSION"
|
|
||||||
tmux attach -t $APP_TMUX_SESSION
|
|
||||||
fi
|
|
||||||
|
|
||||||
@ -1,17 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# 环境变量
|
|
||||||
if [ -z "$APP_TMUX_SESSION" ]; then
|
|
||||||
APP_TMUX_SESSION="$(basename $APP_DIR)-tmux"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 运行命令
|
|
||||||
_TMP_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$APP_TMUX_SESSION")
|
|
||||||
if [ -z "$_TMP_TMUX_SESSION" ]; then
|
|
||||||
echo "Error: tmux session [$APP_TMUX_SESSION] not exists."
|
|
||||||
else
|
|
||||||
echo "stop tmux session [$APP_TMUX_SESSION] => $_TMP_TMUX_SESSION"
|
|
||||||
sleep 3
|
|
||||||
tmux kill-session -t "$APP_TMUX_SESSION"
|
|
||||||
fi
|
|
||||||
|
|
||||||
49
mods/frpc.sh
Executable file
49
mods/frpc.sh
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export TMUX_SESSION="app-frpc-$APP_NAME"
|
||||||
|
export TMUX_COMMAND="frpc -c $APP_HOME/conf/frpc.toml"
|
||||||
|
|
||||||
|
case "$2" in
|
||||||
|
-h|--help|"")
|
||||||
|
echo "commands:"
|
||||||
|
echo " exec execute tmux with commands"
|
||||||
|
echo " stat show the status"
|
||||||
|
echo;
|
||||||
|
echo "args:"
|
||||||
|
echo " -h, --help show the help documentation"
|
||||||
|
echo " -v, --version show the version"
|
||||||
|
;;
|
||||||
|
-v|--version)
|
||||||
|
echo "v0.0.1"
|
||||||
|
;;
|
||||||
|
stat)
|
||||||
|
CURR_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$TMUX_SESSION")
|
||||||
|
if [ -z "$CURR_TMUX_SESSION" ]; then
|
||||||
|
echo "tmux session [$TMUX_SESSION] not exists."
|
||||||
|
else
|
||||||
|
echo "tmux session [$TMUX_SESSION] => $CURR_TMUX_SESSION"
|
||||||
|
tmux attach -t $TMUX_SESSION
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
exec)
|
||||||
|
CURR_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$TMUX_SESSION")
|
||||||
|
if [ -n "$CURR_TMUX_SESSION" ]; then
|
||||||
|
echo "tmux session [$TMUX_SESSION] => $CURR_TMUX_SESSION"
|
||||||
|
tmux attach -t $TMUX_SESSION
|
||||||
|
else
|
||||||
|
echo "starting..."
|
||||||
|
if [ ! -f "$APP_HOME/conf/frpc.toml" ]; then
|
||||||
|
echo "Error: frpc config not exists."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
tmux new-session -d -s "$TMUX_SESSION"
|
||||||
|
sleep 3
|
||||||
|
tmux send-keys -t "$TMUX_SESSION" "$TMUX_COMMAND" Enter
|
||||||
|
tmux attach -t "$TMUX_SESSION"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid command: ${@:2}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
46
mods/tmux.sh
Executable file
46
mods/tmux.sh
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export TMUX_SESSION="app-tmux-$APP_NAME"
|
||||||
|
|
||||||
|
case "$2" in
|
||||||
|
-h|--help|"")
|
||||||
|
echo "commands:"
|
||||||
|
echo " exec execute tmux with commands"
|
||||||
|
echo " stat show the status"
|
||||||
|
echo;
|
||||||
|
echo "args:"
|
||||||
|
echo " -h, --help show the help documentation"
|
||||||
|
echo " -v, --version show the version"
|
||||||
|
;;
|
||||||
|
-v|--version)
|
||||||
|
echo "v0.0.1"
|
||||||
|
;;
|
||||||
|
stat)
|
||||||
|
CURR_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$TMUX_SESSION")
|
||||||
|
if [ -z "$CURR_TMUX_SESSION" ]; then
|
||||||
|
echo "tmux session [$TMUX_SESSION] not exists."
|
||||||
|
else
|
||||||
|
echo "tmux session [$TMUX_SESSION] => $CURR_TMUX_SESSION"
|
||||||
|
tmux attach -t $TMUX_SESSION
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
exec)
|
||||||
|
CURR_TMUX_SESSION=$(tmux list-session 2>&1 | grep "$TMUX_SESSION")
|
||||||
|
if [ -n "$CURR_TMUX_SESSION" ]; then
|
||||||
|
echo "tmux session [$TMUX_SESSION] => $CURR_TMUX_SESSION"
|
||||||
|
tmux attach -t $TMUX_SESSION
|
||||||
|
else
|
||||||
|
echo "starting..."
|
||||||
|
tmux new-session -d -s "$TMUX_SESSION"
|
||||||
|
sleep 3
|
||||||
|
if [ -n "$TMUX_COMMAND" ]; then
|
||||||
|
tmux send-keys -t "$TMUX_SESSION" "$TMUX_COMMAND" Enter
|
||||||
|
fi
|
||||||
|
tmux attach -t "$TMUX_SESSION"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid command: ${@:2}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
Reference in New Issue
Block a user