110 lines
3.3 KiB
Bash
110 lines
3.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Función para iniciar una nueva sesión de tmux con ruta personalizada
|
|
start_session() {
|
|
local session_name="$1"
|
|
local working_dir="$2"
|
|
|
|
# Si se especificó una ruta, usarla; de lo contrario, ir al HOME
|
|
if [ -n "$working_dir" ]; then
|
|
if [ -d "$working_dir" ]; then
|
|
tmux new-session -d -s "$session_name" -c "$working_dir"
|
|
echo "✅ Sesión '$session_name' creada en ruta: $working_dir"
|
|
else
|
|
echo "❌ La ruta '$working_dir' no existe. Usando HOME (~) por defecto."
|
|
tmux new-session -d -s "$session_name"
|
|
fi
|
|
else
|
|
tmux new-session -d -s "$session_name"
|
|
fi
|
|
|
|
tmux attach-session -t "$session_name"
|
|
}
|
|
|
|
# Función para reanudar una sesión existente
|
|
resume_session() {
|
|
local session_name="$1"
|
|
if tmux has-session -t "$session_name" 2>/dev/null; then
|
|
echo "🔵 Reanudando sesión '$session_name'..."
|
|
tmux attach-session -t "$session_name"
|
|
else
|
|
echo "❌ La sesión '$session_name' no existe. ¿Quieres crearla? (s/n)"
|
|
read -r response
|
|
if [[ "$response" =~ ^[Ss]$ ]]; then
|
|
# Solo pregunta por ruta si es Gemini Nahuel
|
|
if [ "$session_name" == "Gemini-Nahuel" ]; then
|
|
read -p "📁 Ingresa la ruta de trabajo (deja vacío para HOME): " custom_dir
|
|
start_session "$session_name" "$custom_dir"
|
|
else
|
|
start_session "$session_name"
|
|
fi
|
|
else
|
|
echo "Operación cancelada."
|
|
exit 1
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Menú principal
|
|
echo "----------------------------------------"
|
|
echo " GESTOR DE SESIONES TMUX - BY NAHUEL "
|
|
echo "----------------------------------------"
|
|
echo ""
|
|
echo "1) Iniciar sesión"
|
|
echo "2) Reanudar sesión"
|
|
echo "3) Salir"
|
|
echo ""
|
|
read -p "Elige una opción (1-3): " main_choice
|
|
|
|
case "$main_choice" in
|
|
1)
|
|
echo ""
|
|
echo "Opciones de sesión:"
|
|
echo "1) Gemini Nahuel"
|
|
echo "2) Nahuel"
|
|
echo "3) Otro"
|
|
echo ""
|
|
read -p "Elige un nombre de sesión (1-3): " session_choice
|
|
|
|
case "$session_choice" in
|
|
1)
|
|
read -p "📁 Ingresa la ruta de trabajo (deja vacío para HOME): " custom_dir
|
|
start_session "Gemini-Nahuel" "$custom_dir"
|
|
;;
|
|
2) start_session "Nahuel" ;;
|
|
3)
|
|
read -p "Introduce el nombre de la sesión: " custom_name
|
|
start_session "$custom_name"
|
|
;;
|
|
*) echo "❌ Opción inválida." ;;
|
|
esac
|
|
;;
|
|
2)
|
|
echo ""
|
|
echo "Opciones de sesión:"
|
|
echo "1) Gemini Nahuel"
|
|
echo "2) Nahuel"
|
|
echo "3) Otro"
|
|
echo ""
|
|
read -p "Elige un nombre de sesión (1-3): " session_choice
|
|
|
|
case "$session_choice" in
|
|
1) resume_session "Gemini-Nahuel" ;;
|
|
2) resume_session "Nahuel" ;;
|
|
3)
|
|
read -p "Introduce el nombre de la sesión: " custom_name
|
|
resume_session "$custom_name"
|
|
;;
|
|
*) echo "❌ Opción inválida." ;;
|
|
esac
|
|
;;
|
|
3)
|
|
echo "👋 ¡Hasta luego!"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "❌ Opción inválida."
|
|
exit 1
|
|
;;
|
|
esac
|