diff --git a/app.sh b/app.sh new file mode 100755 index 0000000..d595e8d --- /dev/null +++ b/app.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# 环境变量 +APP_DIR=$(cd "$(dirname "$0")" && pwd) + +# 执行命令 +if [ -f "$APP_DIR/cmds/app-$1.sh" ]; then + . "$APP_DIR/cmds/app-$1.sh" +else + echo "Error: usage: ./app.sh " + echo "commands:" + if [ -d "$APP_DIR/cmds" ]; then + for file in "$APP_DIR"/cmds/app-*.sh; do + if [ -f "$file" ]; then + filename=$(basename "$file") + cmd_name=${filename#app-} + cmd_name=${cmd_name%.sh} + echo " $cmd_name" + fi + done + fi +fi diff --git a/cmds/app-frpc-exec.sh b/cmds/app-frpc-exec.sh new file mode 100644 index 0000000..a2e8e2b --- /dev/null +++ b/cmds/app-frpc-exec.sh @@ -0,0 +1,22 @@ +#!/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" + diff --git a/cmds/app-frpc-stat.sh b/cmds/app-frpc-stat.sh new file mode 100644 index 0000000..7e97096 --- /dev/null +++ b/cmds/app-frpc-stat.sh @@ -0,0 +1,14 @@ +#!/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 + diff --git a/cmds/app-frpc-stop.sh b/cmds/app-frpc-stop.sh new file mode 100644 index 0000000..b7e845e --- /dev/null +++ b/cmds/app-frpc-stop.sh @@ -0,0 +1,14 @@ +#!/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 diff --git a/cmds/app-tmux-exec.sh b/cmds/app-tmux-exec.sh new file mode 100644 index 0000000..92274ed --- /dev/null +++ b/cmds/app-tmux-exec.sh @@ -0,0 +1,22 @@ +#!/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" + diff --git a/cmds/app-tmux-stat.sh b/cmds/app-tmux-stat.sh new file mode 100644 index 0000000..2e8f305 --- /dev/null +++ b/cmds/app-tmux-stat.sh @@ -0,0 +1,16 @@ +#!/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 + diff --git a/cmds/app-tmux-stop.sh b/cmds/app-tmux-stop.sh new file mode 100644 index 0000000..104e384 --- /dev/null +++ b/cmds/app-tmux-stop.sh @@ -0,0 +1,17 @@ +#!/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 +