Инструменты пользователя

Инструменты сайта


Action unknown: copypageplugin__copy
projects:launcher

Script Launcher

Linux

Скрипты далее перебирают все скрипты *.sh в каталоге запуска и подкаталогах, если имеет доступ и отбирают те в которых есть # ==AUTOEXEC==

#!/bin/bash
# ==AUTOEXEC==
# === Название программы ===
# * Строка для основного описания
# * Строки для развернутого описания
# * Строки для развернутого описания
# //строка ниже служит для обозначения окончания описания
#

признаком окончания описания является первая первая найденная строка где кроме # ничего нет

Шаблон скрипта

Шаблон оформления скрипта для применения в лаунчере
Дополнительно сделан шаблон меню с выбором пунктов

Шаблон файла с заголовками для использования в лаунчере (нажмите чтобы раскрыть)

Лаунчер скриптов (с оболочкой fzf)

При запуске можно выбрать fzf меню или средствами bash скрипта Еслы был выбор fzf но он не установлен, запустится выбор через bash скрипт

Скрипт для поиска и запуска скрптов из подкаталогов при помощи утилиты fzf (нажмите чтобы раскрыть)

Ver 2

Лаунчер

Описание

# Script Launcher
 
Утилита для запуска локальных скриптов с использованием системы тегов и интерфейса выбора. Поддерживает интерактивный выбор через `fzf` (если установлен) или текстовое меню. Разрабатывается для работы в рамках одного каталога, ориентирована на читаемость и безопасность.
 
---
 
## 📦 Возможности
 
- Поиск всех `.sh`-файлов в текущем каталоге
- Отбор скриптов только с маркером `# ==AUTOEXEC==`
- Чтение заголовка (вида `# === Название ===`) и краткого описания (`# * краткое описание`)
- Поддержка интерфейса выбора через `fzf` с предпросмотром описания
- Альтернатива — классическое текстовое меню Bash
- Подтверждение перед запуском
- Поддержка временных файлов через `mktemp` с автоудалением (`trap`)
 
---
 
## 🔧 Требования
 
- Bash 4+
- [fzf](https://github.com/junegunn/fzf) (опционально, для интерактивного режима)
 
Установка fzf:
```bash
sudo apt update && sudo apt install -y fzf
```
 
---
 
## 🧠 Структура
 
Скрипты должны содержать специальную метку `# ==AUTOEXEC==`, за которой идут комментарии с описанием:
 
```bash
# ==AUTOEXEC==
# === Название скрипта ===
# * Краткое описание или цель
```
 
Пример:
```bash
# ==AUTOEXEC==
# === Сохранить резервную копию ===
# * Создаёт .tar.gz архив с логированием
```
 
---
 
## 🚀 Запуск
 
Сначала выполните `launcher.sh` из нужного каталога:
```bash
bash launcher.sh
```
- У меня настроен алиас на высов скрипта 'lll', мне кажется так удобнее
 
 
Выберите интерфейс:
1. fzf-интерфейс (если доступен)
2. Классическое меню
0. Выход
 
Выбранный скрипт запускается **только после подтверждения**.
 
---
 
## 🔐 Безопасность и устойчивость
 
- Временные файлы создаются через `mktemp`, исключая конфликты при параллельном запуске
- Удаляются автоматически через `trap EXIT`
- Нет выполнения кода без согласия пользователя
- Нет внешних сетевых обращений
 
---
 
## 📁 Планы на будущее
 
- Опциональная поддержка `.py`-файлов
- Флаги запуска (`--py`, `--no-preview` и т.п.)
- Категории или теги
- Логирование запусков
 
---
 
Дата обновления: 26.03.2025
projects/launcher.txt · Последнее изменение: 2025/03/28 09:54 —

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki