From 244dddffbe128dfa5a4645011a9538b6fedeba90 Mon Sep 17 00:00:00 2001 From: Stepanov Aleksey Date: Thu, 14 Aug 2025 15:12:41 +0500 Subject: add menu.sh --- menu.sh | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 menu.sh diff --git a/menu.sh b/menu.sh new file mode 100755 index 0000000..d0f90cd --- /dev/null +++ b/menu.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +source "./lib/environment.sh" + +#****h* archisofiles/menu.sh +# NAME +# +# menu.sh - меню для выбора скрипта из BIN_DIR. +# +# EXAMPLE +# +# chmod +x ./menu.sh +# ./menu.sh +#****** + +#****D* archisofiles/bin +# NAME +# +# bin - папка с основными скриптами. +#****** + +#****D* archisofiles/lib +# NAME +# +# lib - папка с вспомогательными скриптами. +#****** + +declare -a options + +for script in "$BIN_DIR"/*; do + if [[ -f "$script" && -x "$script" ]]; then + options+=("$(basename "$script")") + fi +done +options+=("Выход") + +PS3="Выбери действие (введи номер): " + +echo "Доступные скрипты в $BIN_DIR:" +select action in "${options[@]}"; do + case "$action" in + "Выход") + echo "Выход." + break + ;; + "") + echo "Неверный выбор. Попробуй ещё раз." + ;; + *) + echo "Запускаю \"$action\"..." + "$BIN_DIR/$action" + ;; + esac +done -- cgit