bash-script-maker


Namebash-script-maker JSON
Version 1.11.0 PyPI version JSON
download
home_pagehttps://github.com/securebitsorg/bash-script-maker
SummaryEin GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung
upload_time2025-09-08 05:14:52
maintainerNone
docs_urlNone
authorMarcel Dellmann
requires_python>=3.8
licenseMIT
keywords bash script gui editor generator linux
VCS
bugtrack_url
requirements ttkbootstrap pygments Pillow
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Bash-Script-Maker

Ein benutzerfreundliches GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung.

[![CI/CD Pipeline](https://github.com/securebitsorg/Bash-Script-Maker/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/securebitsorg/Bash-Script-Maker/actions/workflows/ci-cd.yml)
[![GitHub Release](https://img.shields.io/github/v/release/securebitsorg/Bash-Script-Maker?include_prereleases&sort=semver)](https://github.com/securebitsorg/Bash-Script-Maker/releases)
[![PyPI Version](https://img.shields.io/pypi/v/bash-script-maker)](https://pypi.org/project/bash-script-maker/)
[![Python Versions](https://img.shields.io/pypi/pyversions/bash-script-maker)](https://pypi.org/project/bash-script-maker/)
[![License](https://img.shields.io/github/license/securebitsorg/Bash-Script-Maker)](https://opensource.org/licenses/MIT)
[![GitHub last commit](https://img.shields.io/github/last-commit/securebitsorg/Bash-Script-Maker)](https://github.com/securebitsorg/Bash-Script-Maker/commits/main)
[![Downloads](https://img.shields.io/github/downloads/securebitsorg/Bash-Script-Maker/total)](https://github.com/securebitsorg/Bash-Script-Maker/releases)
[![Issues](https://img.shields.io/github/issues/securebitsorg/Bash-Script-Maker)](https://github.com/securebitsorg/Bash-Script-Maker/issues)

## Features

### Hauptfunktionen
- **Visuelle Script-Erstellung**: Einfache Erstellung von Bash-Scripts durch Drag-and-Drop von Befehlsbausteinen
- **Intelligente Tab-Unterstützung**: Automatische Einrückung mit 4 Leerzeichen (Bash-Standard)
- **Autovervollständigung**: Kontextabhängige Vorschläge für Befehle, Variablen und Pfade
- **Syntax-Highlighting**: Automatische Hervorhebung von Bash-Syntaxelementen
- **Zenity-Integration**: Einfache Integration von Zenity-Dialogen für interaktive Scripts
- **Live-Editor**: Echtzeit-Syntaxhervorhebung während der Eingabe
- **Automatische Formatierung**: Smarte Einrückung basierend auf Bash-Strukturen
- **Script-Ausführung**: Direktes Testen der erstellten Scripts

### Verfügbare Befehlsbausteine

#### Grundlagen
- Shebang-Zeile
- Echo-Befehle
- Eingabe lesen
- Bedingte Anweisungen (if/then/else)
- Schleifen (for/while)
- Case-Anweisungen
- Funktionsdefinitionen

#### Zenity-Dialoge
- Info-Dialoge
- Fehler-Dialoge
- Warnungs-Dialoge
- Frage-Dialoge
- Eingabedialoge
- Dateiauswahl
- Fortschrittsbalken
- Listen-Dialoge

#### Systembefehle
- Dateioperationen (ls, cd, mkdir, rm, cp, mv)
- Berechtigungen (chmod)
- Prozessverwaltung (ps, kill)
- Textverarbeitung (grep, sed, awk)

#### Variablen und Operatoren
- Variablenzuweisung
- String-Operationen
- Array-Operationen
- Vergleichsoperatoren

## Installation

### Voraussetzungen
- Python 3.8 oder höher
- Tkinter (GUI-Bibliothek)
- Zenity (für Dialog-Funktionen)
- Linux-Distribution mit apt, dnf, pacman oder ähnlichem Paketmanager

### Automatische Installation mit Desktop-Integration

**Empfohlene Methode (automatische Erkennung):**
```bash
git clone https://github.com/securebitsorg/bash-script-maker.git
cd bash-script-maker
./install.sh
```

Das Script erkennt automatisch Ihren Paketmanager, installiert alle notwendigen Abhängigkeiten und richtet die Desktop-Integration ein.

**Spezifisch für Distributionen:**

Für Ubuntu/Debian-basierte Systeme:
```bash
./install_apt.sh
```

Für Fedora/RHEL/CentOS-basierte Systeme:
```bash
./install_dnf.sh
```


### Nur Desktop-Integration installieren

Falls Sie die App bereits installiert haben und nur die Desktop-Integration hinzufügen möchten:

```bash
./install_desktop_integration.sh
```

### Manuelle Installation

Wenn die automatischen Scripts nicht funktionieren, installieren Sie die Pakete manuell:

**Ubuntu/Debian:**
```bash
sudo apt update
sudo apt install python3 python3-tk python3-pip zenity xterm
```

**Fedora/RHEL/CentOS:**
```bash
sudo dnf install python3 python3-tkinter python3-pip zenity xterm
```

**Arch Linux:**
```bash
sudo pacman -S python python-tk python-pip zenity xterm
```

**Andere Distributionen:**
Siehe `packages.txt` für detaillierte Paketlisten.

### Python-Abhängigkeiten
```bash
pip install -r requirements.txt
```

### Überprüfung der Installation

Nach der Installation können Sie testen, ob alles korrekt funktioniert:
```bash
./test_installation.sh
./tools/test_dependencies.py
```

Diese Scripts überprüfen alle Abhängigkeiten und geben detaillierte Informationen über eventuelle Probleme.

### Verfügbare Scripts

Das Projekt enthält folgende Installations- und Hilfsscripts:

- `install.sh` - **Universelles Installationsscript** (empfohlen)
- `install_apt.sh` - Spezifisch für Ubuntu/Debian
- `install_dnf.sh` - Spezifisch für Fedora/RHEL/CentOS
- `test_installation.sh` - Überprüft die Installation
- `tools/test_dependencies.py` - Detaillierte Dependency-Tests
- `tests/test_basic.py` - Pytest-Tests für grundlegende Funktionalität
- `start.sh` - Startet das Programm mit Abhängigkeitsprüfung

Alle Scripts sind ausführbar und können direkt aufgerufen werden.

## Verwendung

### Programm starten

**Über das Anwendungsmenü:**
Nach der Installation finden Sie "Bash-Script-Maker" im Anwendungsmenü Ihrer Desktop-Umgebung.

**Über das Terminal:**
```bash
bash-script-maker
```

**Direkt aus dem Quellcode:**
```bash
python3 bash_script_maker.py
```

### Desktop-Integration

Die App wird automatisch mit einem benutzerdefinierten Icon und Desktop-Integration installiert:
- **Icon**: Ein modernes SVG-Icon mit Terminal-Design
- **Desktop-Datei**: Vollständige Integration in das Anwendungsmenü
- **Kategorien**: Development und Utility
- **Unterstützte Distributionen**: Alle Linux-Distributionen mit Desktop-Umgebung

### Script erstellen
1. Wählen Sie die gewünschten Befehlsbausteine aus der linken Palette
2. Klicken Sie auf einen Baustein, um ihn in den Editor einzufügen
3. Bearbeiten Sie die Parameter nach Bedarf
4. Speichern Sie das Script
5. Testen Sie es mit der Ausführen-Funktion

### Tastenkombinationen
- `Ctrl+N`: Neues Script
- `Ctrl+O`: Script öffnen
- `Ctrl+S`: Script speichern
- `Ctrl+Shift+S`: Script speichern unter
- `Ctrl+Q`: Programm beenden
- `F5`: Script ausführen
- `Ctrl+Z`: Rückgängig
- `Ctrl+Y`: Wiederholen

### Editor-Tastenkombinationen
- `Tab`: Einrücken (aktuelle Zeile oder Auswahl)
- `Shift+Tab`: Ausrücken (aktuelle Zeile oder Auswahl)
- `Ctrl+A`: Alles auswählen
- `Ctrl+D`: Zeile duplizieren
- `Ctrl+/`: Kommentar umschalten
- `Ctrl+Space`: Autovervollständigung anzeigen
- `Ctrl+Tab`: Alternative für Autovervollständigung
- `Enter`: Automatische Einrückung in neuen Zeilen
- `Backspace`: Intelligente Ausrückung bei Tab-Stops
- `Escape`: Vorschlagsliste schließen

### Automatische Formatierung
Der Editor erkennt automatisch Bash-Strukturen und passt die Einrückung an:
- Nach `if`, `then`, `else`, `for`, `while`, `case`, `function` wird eingerückt
- Nach `fi`, `done`, `esac` wird ausgerückt
- Einrückung mit 4 Leerzeichen (Bash-Standard)

### Autovervollständigung
Die intelligente Autovervollständigung bietet kontextabhängige Vorschläge:

#### Unterstützte Vorschlagstypen
- **Bash-Befehle**: ls, cp, mv, grep, sed, awk, find, etc.
- **Bash-Schlüsselwörter**: if, then, else, fi, for, while, function, etc.
- **Variablen**: $HOME, $PATH, $PWD, $USER, benutzerdefinierte Variablen
- **Datei- und Pfadvervollständigung**: Automatische Vervollständigung von Pfaden
- **Befehlsoptionen**: Häufig verwendete Optionen für bekannte Befehle

#### Navigation in Vorschlägen
- `↑/↓`: Zwischen Vorschlägen navigieren
- `Enter/Tab`: Vorschlag übernehmen
- `Escape`: Vorschlagsliste schließen
- `Mausrad`: Durch Liste scrollen

#### Kontextabhängige Vorschläge
- **Am Zeilenanfang**: Alle verfügbaren Befehle und Schlüsselwörter
- **Bei $**: Variablen-Vorschläge
- **Bei Pfaden**: Datei- und Verzeichnisvervollständigung
- **Nach bekannten Befehlen**: Relevante Optionen

## Beispiel-Script

Das Programm erstellt automatisch ein grundlegendes Script-Template:



## Technische Details

- **GUI-Framework**: Tkinter
- **Syntax-Highlighting**: Regex-basierte Mustererkennung
- **Dateiformat**: Reine Bash-Scripts (.sh)
- **Encoding**: UTF-8
- **Plattform**: Linux (aufgrund Zenity-Abhängigkeit)

## CI/CD Pipeline

Dieses Projekt verwendet GitHub Actions für kontinuierliche Integration und automatische Releases.

- **CI/CD Pipeline** (`.github/workflows/ci-cd.yml`):
  - Tests auf Python 3.8-3.12
  - Code-Qualität-Checks (Flake8, Black, MyPy)
  - **Automatische Releases mit semantic-release**
  - Package-Publishing zu PyPI und GitHub Packages
  - Docker-Image-Erstellung
  - Dokumentationsgenerierung
  - Sicherheitsscans (Bandit, Safety)

### Automatische Releases

Das Projekt verwendet [Conventional Commits](https://www.conventionalcommits.org/) für automatische Versionierung:

- `feat:` → Minor Release (1.1.0 → 1.2.0)
- `fix:` → Patch Release (1.1.0 → 1.1.1)
- `BREAKING CHANGE:` → Major Release (1.1.0 → 2.0.0)

**Beispiel-Commits:**
```bash
git commit -m "feat: add new syntax highlighting theme"
git commit -m "fix: resolve tab indentation bug"
git commit -m "docs: update installation instructions"
```

- **Security Scan** (`.github/workflows/security-scan.yml`):
  - Security-Scans mit Bandit und Safety
  - Funktioniert in Forks und Haupt-Repository
  - Keine speziellen Berechtigungen erforderlich

- **Manueller Release** (`.github/workflows/manual-release.yml`):
  - Manuelle Versionserstellung
  - Flexible Release-Notes

### Lokale Entwicklung

#### Pre-commit Hooks einrichten:
```bash
pip install pre-commit
pre-commit install
pre-commit run --all-files
```

#### Tests ausführen:
```bash
tox
# oder spezifische Umgebungen
tox -e py39,lint,type
```

#### Package bauen:
```bash
python -m build
```

#### Tests ausführen:
```bash
# Alle Tests mit Coverage
pytest

# Spezifische Tests
pytest tests/test_basic.py

# Mit Coverage-Bericht
pytest --cov=bash_script_maker --cov=syntax_highlighter --cov-report=html
```

## Mitwirken

Beiträge sind willkommen! Siehe [CONTRIBUTING.md](CONTRIBUTING.md) für detaillierte Anweisungen.

### Schnellstart für Contributors:
1. Fork das Repository
2. `git clone https://github.com/securebitsorg/bash-script-maker.git`
3. `cd bash-script-maker && ./install.sh`
4. `pip install -e ".[dev]"`
5. `pre-commit install`
6. Entwickeln und testen
7. `./init_github.sh` (für automatischen Push)
8. Pull Request erstellen

### Übersetzungen beisteuern

Wir freuen uns über Hilfe bei der Übersetzung des Bash-Script-Makers in neue Sprachen!

**So fügen Sie eine neue Sprache hinzu:**

1.  **Sprach-Code finden:** Finden Sie den zweibuchstabigen ISO 639-1 Code für Ihre Sprache (z.B. `fr` für Französisch).

2.  **Verzeichnis erstellen:** Erstellen Sie ein neues Verzeichnis unter `locales/`. Für Französisch wäre das `locales/fr/LC_MESSAGES/`.

3.  **Übersetzungsdatei erstellen:**
    *   Kopieren Sie die deutsche Vorlagendatei: `cp locales/de/LC_MESSAGES/base.po locales/fr/LC_MESSAGES/base.po`
    *   Öffnen Sie die neue `.po`-Datei mit einem Texteditor oder einem speziellen Tool wie [Poedit](https://poedit.net/).

4.  **Texte übersetzen:**
    *   Gehen Sie die Datei durch und übersetzen Sie alle Texte, die in `msgid "..."` stehen.
    *   Tragen Sie Ihre Übersetzung in das `msgstr "..."`-Feld direkt darunter ein.
    *   **Wichtig:** Lassen Sie Platzhalter wie `{}` unverändert.

    **Beispiel:**
    ```po
    msgid "Datei"
    msgstr "File"

    msgid "Script gespeichert: {}"
    msgstr "Script saved: {}"
    ```

5.  **Übersetzung kompilieren:**
    *   Damit das Programm Ihre Übersetzung nutzen kann, muss sie kompiliert werden. Führen Sie dazu einfach das mitgelieferte Skript aus:
    ```bash
    python compile_translations.py
    ```
    *   Dieses Skript benötigt eventuell die `polib`-Bibliothek. Falls nicht vorhanden, installieren Sie sie mit: `pip install polib`.

6.  **Sprache im Menü hinzufügen:**
    *   Öffnen Sie die Datei `bash_script_maker.py`.
    *   Suchen Sie nach `language_menu`.
    *   Fügen Sie einen neuen Eintrag für Ihre Sprache hinzu, ähnlich wie die bereits vorhandenen für Deutsch und Englisch.

7.  **Pull Request erstellen:** Erstellen Sie einen Pull Request mit Ihren Änderungen, damit wir die neue Sprache in das Projekt aufnehmen können.

Vielen Dank für Ihre Hilfe!

### Repository zu GitHub pushen:
```bash
# Automatisch (empfohlen)
./init_github.sh

# Oder manuell
git add .
git commit -m "Your commit message"
git push
```

## Lizenz

Dieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE-Datei für Details.

## Autor

Erstellt von Marcel Dellmann mit ❤️ für Bash-Script-Enthusiasten\n> Automatisches Release: Testeintrag.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/securebitsorg/bash-script-maker",
    "name": "bash-script-maker",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Marcel Dellmann <support@secure-bits.org>",
    "keywords": "bash, script, gui, editor, generator, linux",
    "author": "Marcel Dellmann",
    "author_email": "Marcel Dellmann <support@secure-bits.org>",
    "download_url": "https://files.pythonhosted.org/packages/fe/38/0b36b7150ea4cd2526d2d067368d51947aa43b3dc16fe9b3e4fd86dbdfe7/bash-script-maker-1.11.0.tar.gz",
    "platform": null,
    "description": "# Bash-Script-Maker\n\nEin benutzerfreundliches GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterst\u00fctzung.\n\n[![CI/CD Pipeline](https://github.com/securebitsorg/Bash-Script-Maker/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/securebitsorg/Bash-Script-Maker/actions/workflows/ci-cd.yml)\n[![GitHub Release](https://img.shields.io/github/v/release/securebitsorg/Bash-Script-Maker?include_prereleases&sort=semver)](https://github.com/securebitsorg/Bash-Script-Maker/releases)\n[![PyPI Version](https://img.shields.io/pypi/v/bash-script-maker)](https://pypi.org/project/bash-script-maker/)\n[![Python Versions](https://img.shields.io/pypi/pyversions/bash-script-maker)](https://pypi.org/project/bash-script-maker/)\n[![License](https://img.shields.io/github/license/securebitsorg/Bash-Script-Maker)](https://opensource.org/licenses/MIT)\n[![GitHub last commit](https://img.shields.io/github/last-commit/securebitsorg/Bash-Script-Maker)](https://github.com/securebitsorg/Bash-Script-Maker/commits/main)\n[![Downloads](https://img.shields.io/github/downloads/securebitsorg/Bash-Script-Maker/total)](https://github.com/securebitsorg/Bash-Script-Maker/releases)\n[![Issues](https://img.shields.io/github/issues/securebitsorg/Bash-Script-Maker)](https://github.com/securebitsorg/Bash-Script-Maker/issues)\n\n## Features\n\n### Hauptfunktionen\n- **Visuelle Script-Erstellung**: Einfache Erstellung von Bash-Scripts durch Drag-and-Drop von Befehlsbausteinen\n- **Intelligente Tab-Unterst\u00fctzung**: Automatische Einr\u00fcckung mit 4 Leerzeichen (Bash-Standard)\n- **Autovervollst\u00e4ndigung**: Kontextabh\u00e4ngige Vorschl\u00e4ge f\u00fcr Befehle, Variablen und Pfade\n- **Syntax-Highlighting**: Automatische Hervorhebung von Bash-Syntaxelementen\n- **Zenity-Integration**: Einfache Integration von Zenity-Dialogen f\u00fcr interaktive Scripts\n- **Live-Editor**: Echtzeit-Syntaxhervorhebung w\u00e4hrend der Eingabe\n- **Automatische Formatierung**: Smarte Einr\u00fcckung basierend auf Bash-Strukturen\n- **Script-Ausf\u00fchrung**: Direktes Testen der erstellten Scripts\n\n### Verf\u00fcgbare Befehlsbausteine\n\n#### Grundlagen\n- Shebang-Zeile\n- Echo-Befehle\n- Eingabe lesen\n- Bedingte Anweisungen (if/then/else)\n- Schleifen (for/while)\n- Case-Anweisungen\n- Funktionsdefinitionen\n\n#### Zenity-Dialoge\n- Info-Dialoge\n- Fehler-Dialoge\n- Warnungs-Dialoge\n- Frage-Dialoge\n- Eingabedialoge\n- Dateiauswahl\n- Fortschrittsbalken\n- Listen-Dialoge\n\n#### Systembefehle\n- Dateioperationen (ls, cd, mkdir, rm, cp, mv)\n- Berechtigungen (chmod)\n- Prozessverwaltung (ps, kill)\n- Textverarbeitung (grep, sed, awk)\n\n#### Variablen und Operatoren\n- Variablenzuweisung\n- String-Operationen\n- Array-Operationen\n- Vergleichsoperatoren\n\n## Installation\n\n### Voraussetzungen\n- Python 3.8 oder h\u00f6her\n- Tkinter (GUI-Bibliothek)\n- Zenity (f\u00fcr Dialog-Funktionen)\n- Linux-Distribution mit apt, dnf, pacman oder \u00e4hnlichem Paketmanager\n\n### Automatische Installation mit Desktop-Integration\n\n**Empfohlene Methode (automatische Erkennung):**\n```bash\ngit clone https://github.com/securebitsorg/bash-script-maker.git\ncd bash-script-maker\n./install.sh\n```\n\nDas Script erkennt automatisch Ihren Paketmanager, installiert alle notwendigen Abh\u00e4ngigkeiten und richtet die Desktop-Integration ein.\n\n**Spezifisch f\u00fcr Distributionen:**\n\nF\u00fcr Ubuntu/Debian-basierte Systeme:\n```bash\n./install_apt.sh\n```\n\nF\u00fcr Fedora/RHEL/CentOS-basierte Systeme:\n```bash\n./install_dnf.sh\n```\n\n\n### Nur Desktop-Integration installieren\n\nFalls Sie die App bereits installiert haben und nur die Desktop-Integration hinzuf\u00fcgen m\u00f6chten:\n\n```bash\n./install_desktop_integration.sh\n```\n\n### Manuelle Installation\n\nWenn die automatischen Scripts nicht funktionieren, installieren Sie die Pakete manuell:\n\n**Ubuntu/Debian:**\n```bash\nsudo apt update\nsudo apt install python3 python3-tk python3-pip zenity xterm\n```\n\n**Fedora/RHEL/CentOS:**\n```bash\nsudo dnf install python3 python3-tkinter python3-pip zenity xterm\n```\n\n**Arch Linux:**\n```bash\nsudo pacman -S python python-tk python-pip zenity xterm\n```\n\n**Andere Distributionen:**\nSiehe `packages.txt` f\u00fcr detaillierte Paketlisten.\n\n### Python-Abh\u00e4ngigkeiten\n```bash\npip install -r requirements.txt\n```\n\n### \u00dcberpr\u00fcfung der Installation\n\nNach der Installation k\u00f6nnen Sie testen, ob alles korrekt funktioniert:\n```bash\n./test_installation.sh\n./tools/test_dependencies.py\n```\n\nDiese Scripts \u00fcberpr\u00fcfen alle Abh\u00e4ngigkeiten und geben detaillierte Informationen \u00fcber eventuelle Probleme.\n\n### Verf\u00fcgbare Scripts\n\nDas Projekt enth\u00e4lt folgende Installations- und Hilfsscripts:\n\n- `install.sh` - **Universelles Installationsscript** (empfohlen)\n- `install_apt.sh` - Spezifisch f\u00fcr Ubuntu/Debian\n- `install_dnf.sh` - Spezifisch f\u00fcr Fedora/RHEL/CentOS\n- `test_installation.sh` - \u00dcberpr\u00fcft die Installation\n- `tools/test_dependencies.py` - Detaillierte Dependency-Tests\n- `tests/test_basic.py` - Pytest-Tests f\u00fcr grundlegende Funktionalit\u00e4t\n- `start.sh` - Startet das Programm mit Abh\u00e4ngigkeitspr\u00fcfung\n\nAlle Scripts sind ausf\u00fchrbar und k\u00f6nnen direkt aufgerufen werden.\n\n## Verwendung\n\n### Programm starten\n\n**\u00dcber das Anwendungsmen\u00fc:**\nNach der Installation finden Sie \"Bash-Script-Maker\" im Anwendungsmen\u00fc Ihrer Desktop-Umgebung.\n\n**\u00dcber das Terminal:**\n```bash\nbash-script-maker\n```\n\n**Direkt aus dem Quellcode:**\n```bash\npython3 bash_script_maker.py\n```\n\n### Desktop-Integration\n\nDie App wird automatisch mit einem benutzerdefinierten Icon und Desktop-Integration installiert:\n- **Icon**: Ein modernes SVG-Icon mit Terminal-Design\n- **Desktop-Datei**: Vollst\u00e4ndige Integration in das Anwendungsmen\u00fc\n- **Kategorien**: Development und Utility\n- **Unterst\u00fctzte Distributionen**: Alle Linux-Distributionen mit Desktop-Umgebung\n\n### Script erstellen\n1. W\u00e4hlen Sie die gew\u00fcnschten Befehlsbausteine aus der linken Palette\n2. Klicken Sie auf einen Baustein, um ihn in den Editor einzuf\u00fcgen\n3. Bearbeiten Sie die Parameter nach Bedarf\n4. Speichern Sie das Script\n5. Testen Sie es mit der Ausf\u00fchren-Funktion\n\n### Tastenkombinationen\n- `Ctrl+N`: Neues Script\n- `Ctrl+O`: Script \u00f6ffnen\n- `Ctrl+S`: Script speichern\n- `Ctrl+Shift+S`: Script speichern unter\n- `Ctrl+Q`: Programm beenden\n- `F5`: Script ausf\u00fchren\n- `Ctrl+Z`: R\u00fcckg\u00e4ngig\n- `Ctrl+Y`: Wiederholen\n\n### Editor-Tastenkombinationen\n- `Tab`: Einr\u00fccken (aktuelle Zeile oder Auswahl)\n- `Shift+Tab`: Ausr\u00fccken (aktuelle Zeile oder Auswahl)\n- `Ctrl+A`: Alles ausw\u00e4hlen\n- `Ctrl+D`: Zeile duplizieren\n- `Ctrl+/`: Kommentar umschalten\n- `Ctrl+Space`: Autovervollst\u00e4ndigung anzeigen\n- `Ctrl+Tab`: Alternative f\u00fcr Autovervollst\u00e4ndigung\n- `Enter`: Automatische Einr\u00fcckung in neuen Zeilen\n- `Backspace`: Intelligente Ausr\u00fcckung bei Tab-Stops\n- `Escape`: Vorschlagsliste schlie\u00dfen\n\n### Automatische Formatierung\nDer Editor erkennt automatisch Bash-Strukturen und passt die Einr\u00fcckung an:\n- Nach `if`, `then`, `else`, `for`, `while`, `case`, `function` wird einger\u00fcckt\n- Nach `fi`, `done`, `esac` wird ausger\u00fcckt\n- Einr\u00fcckung mit 4 Leerzeichen (Bash-Standard)\n\n### Autovervollst\u00e4ndigung\nDie intelligente Autovervollst\u00e4ndigung bietet kontextabh\u00e4ngige Vorschl\u00e4ge:\n\n#### Unterst\u00fctzte Vorschlagstypen\n- **Bash-Befehle**: ls, cp, mv, grep, sed, awk, find, etc.\n- **Bash-Schl\u00fcsselw\u00f6rter**: if, then, else, fi, for, while, function, etc.\n- **Variablen**: $HOME, $PATH, $PWD, $USER, benutzerdefinierte Variablen\n- **Datei- und Pfadvervollst\u00e4ndigung**: Automatische Vervollst\u00e4ndigung von Pfaden\n- **Befehlsoptionen**: H\u00e4ufig verwendete Optionen f\u00fcr bekannte Befehle\n\n#### Navigation in Vorschl\u00e4gen\n- `\u2191/\u2193`: Zwischen Vorschl\u00e4gen navigieren\n- `Enter/Tab`: Vorschlag \u00fcbernehmen\n- `Escape`: Vorschlagsliste schlie\u00dfen\n- `Mausrad`: Durch Liste scrollen\n\n#### Kontextabh\u00e4ngige Vorschl\u00e4ge\n- **Am Zeilenanfang**: Alle verf\u00fcgbaren Befehle und Schl\u00fcsselw\u00f6rter\n- **Bei $**: Variablen-Vorschl\u00e4ge\n- **Bei Pfaden**: Datei- und Verzeichnisvervollst\u00e4ndigung\n- **Nach bekannten Befehlen**: Relevante Optionen\n\n## Beispiel-Script\n\nDas Programm erstellt automatisch ein grundlegendes Script-Template:\n\n\n\n## Technische Details\n\n- **GUI-Framework**: Tkinter\n- **Syntax-Highlighting**: Regex-basierte Mustererkennung\n- **Dateiformat**: Reine Bash-Scripts (.sh)\n- **Encoding**: UTF-8\n- **Plattform**: Linux (aufgrund Zenity-Abh\u00e4ngigkeit)\n\n## CI/CD Pipeline\n\nDieses Projekt verwendet GitHub Actions f\u00fcr kontinuierliche Integration und automatische Releases.\n\n- **CI/CD Pipeline** (`.github/workflows/ci-cd.yml`):\n  - Tests auf Python 3.8-3.12\n  - Code-Qualit\u00e4t-Checks (Flake8, Black, MyPy)\n  - **Automatische Releases mit semantic-release**\n  - Package-Publishing zu PyPI und GitHub Packages\n  - Docker-Image-Erstellung\n  - Dokumentationsgenerierung\n  - Sicherheitsscans (Bandit, Safety)\n\n### Automatische Releases\n\nDas Projekt verwendet [Conventional Commits](https://www.conventionalcommits.org/) f\u00fcr automatische Versionierung:\n\n- `feat:` \u2192 Minor Release (1.1.0 \u2192 1.2.0)\n- `fix:` \u2192 Patch Release (1.1.0 \u2192 1.1.1)\n- `BREAKING CHANGE:` \u2192 Major Release (1.1.0 \u2192 2.0.0)\n\n**Beispiel-Commits:**\n```bash\ngit commit -m \"feat: add new syntax highlighting theme\"\ngit commit -m \"fix: resolve tab indentation bug\"\ngit commit -m \"docs: update installation instructions\"\n```\n\n- **Security Scan** (`.github/workflows/security-scan.yml`):\n  - Security-Scans mit Bandit und Safety\n  - Funktioniert in Forks und Haupt-Repository\n  - Keine speziellen Berechtigungen erforderlich\n\n- **Manueller Release** (`.github/workflows/manual-release.yml`):\n  - Manuelle Versionserstellung\n  - Flexible Release-Notes\n\n### Lokale Entwicklung\n\n#### Pre-commit Hooks einrichten:\n```bash\npip install pre-commit\npre-commit install\npre-commit run --all-files\n```\n\n#### Tests ausf\u00fchren:\n```bash\ntox\n# oder spezifische Umgebungen\ntox -e py39,lint,type\n```\n\n#### Package bauen:\n```bash\npython -m build\n```\n\n#### Tests ausf\u00fchren:\n```bash\n# Alle Tests mit Coverage\npytest\n\n# Spezifische Tests\npytest tests/test_basic.py\n\n# Mit Coverage-Bericht\npytest --cov=bash_script_maker --cov=syntax_highlighter --cov-report=html\n```\n\n## Mitwirken\n\nBeitr\u00e4ge sind willkommen! Siehe [CONTRIBUTING.md](CONTRIBUTING.md) f\u00fcr detaillierte Anweisungen.\n\n### Schnellstart f\u00fcr Contributors:\n1. Fork das Repository\n2. `git clone https://github.com/securebitsorg/bash-script-maker.git`\n3. `cd bash-script-maker && ./install.sh`\n4. `pip install -e \".[dev]\"`\n5. `pre-commit install`\n6. Entwickeln und testen\n7. `./init_github.sh` (f\u00fcr automatischen Push)\n8. Pull Request erstellen\n\n### \u00dcbersetzungen beisteuern\n\nWir freuen uns \u00fcber Hilfe bei der \u00dcbersetzung des Bash-Script-Makers in neue Sprachen!\n\n**So f\u00fcgen Sie eine neue Sprache hinzu:**\n\n1.  **Sprach-Code finden:** Finden Sie den zweibuchstabigen ISO 639-1 Code f\u00fcr Ihre Sprache (z.B. `fr` f\u00fcr Franz\u00f6sisch).\n\n2.  **Verzeichnis erstellen:** Erstellen Sie ein neues Verzeichnis unter `locales/`. F\u00fcr Franz\u00f6sisch w\u00e4re das `locales/fr/LC_MESSAGES/`.\n\n3.  **\u00dcbersetzungsdatei erstellen:**\n    *   Kopieren Sie die deutsche Vorlagendatei: `cp locales/de/LC_MESSAGES/base.po locales/fr/LC_MESSAGES/base.po`\n    *   \u00d6ffnen Sie die neue `.po`-Datei mit einem Texteditor oder einem speziellen Tool wie [Poedit](https://poedit.net/).\n\n4.  **Texte \u00fcbersetzen:**\n    *   Gehen Sie die Datei durch und \u00fcbersetzen Sie alle Texte, die in `msgid \"...\"` stehen.\n    *   Tragen Sie Ihre \u00dcbersetzung in das `msgstr \"...\"`-Feld direkt darunter ein.\n    *   **Wichtig:** Lassen Sie Platzhalter wie `{}` unver\u00e4ndert.\n\n    **Beispiel:**\n    ```po\n    msgid \"Datei\"\n    msgstr \"File\"\n\n    msgid \"Script gespeichert: {}\"\n    msgstr \"Script saved: {}\"\n    ```\n\n5.  **\u00dcbersetzung kompilieren:**\n    *   Damit das Programm Ihre \u00dcbersetzung nutzen kann, muss sie kompiliert werden. F\u00fchren Sie dazu einfach das mitgelieferte Skript aus:\n    ```bash\n    python compile_translations.py\n    ```\n    *   Dieses Skript ben\u00f6tigt eventuell die `polib`-Bibliothek. Falls nicht vorhanden, installieren Sie sie mit: `pip install polib`.\n\n6.  **Sprache im Men\u00fc hinzuf\u00fcgen:**\n    *   \u00d6ffnen Sie die Datei `bash_script_maker.py`.\n    *   Suchen Sie nach `language_menu`.\n    *   F\u00fcgen Sie einen neuen Eintrag f\u00fcr Ihre Sprache hinzu, \u00e4hnlich wie die bereits vorhandenen f\u00fcr Deutsch und Englisch.\n\n7.  **Pull Request erstellen:** Erstellen Sie einen Pull Request mit Ihren \u00c4nderungen, damit wir die neue Sprache in das Projekt aufnehmen k\u00f6nnen.\n\nVielen Dank f\u00fcr Ihre Hilfe!\n\n### Repository zu GitHub pushen:\n```bash\n# Automatisch (empfohlen)\n./init_github.sh\n\n# Oder manuell\ngit add .\ngit commit -m \"Your commit message\"\ngit push\n```\n\n## Lizenz\n\nDieses Projekt steht unter der MIT-Lizenz. Siehe LICENSE-Datei f\u00fcr Details.\n\n## Autor\n\nErstellt von Marcel Dellmann mit \u2764\ufe0f f\u00fcr Bash-Script-Enthusiasten\\n> Automatisches Release: Testeintrag.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterst\u00fctzung",
    "version": "1.11.0",
    "project_urls": {
        "Bug Reports": "https://github.com/securebitsorg/bash-script-maker/issues",
        "Changelog": "https://github.com/securebitsorg/bash-script-maker/blob/main/CHANGELOG.md",
        "Documentation": "https://github.com/securebitsorg/bash-script-maker#readme",
        "Homepage": "https://github.com/securebitsorg/bash-script-maker",
        "Repository": "https://github.com/securebitsorg/bash-script-maker"
    },
    "split_keywords": [
        "bash",
        " script",
        " gui",
        " editor",
        " generator",
        " linux"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "aa174f46b3725756e232c14231c8b51067918e4478e157a459afb79a4d498d32",
                "md5": "4a75bd22bcd4ecf132c54566101432b3",
                "sha256": "d9ee57553b479ac2fa055adadeda2d2e964b08f6346c9c0996fff2d2b0685e28"
            },
            "downloads": -1,
            "filename": "bash_script_maker-1.11.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4a75bd22bcd4ecf132c54566101432b3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 31200,
            "upload_time": "2025-09-08T05:14:50",
            "upload_time_iso_8601": "2025-09-08T05:14:50.834828Z",
            "url": "https://files.pythonhosted.org/packages/aa/17/4f46b3725756e232c14231c8b51067918e4478e157a459afb79a4d498d32/bash_script_maker-1.11.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "fe380b36b7150ea4cd2526d2d067368d51947aa43b3dc16fe9b3e4fd86dbdfe7",
                "md5": "cc9d64d1a11b5c635f63ee941a5af007",
                "sha256": "1614e03046194b1fba0875caf1d726c3872972d358891e877287321314ec7102"
            },
            "downloads": -1,
            "filename": "bash-script-maker-1.11.0.tar.gz",
            "has_sig": false,
            "md5_digest": "cc9d64d1a11b5c635f63ee941a5af007",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 111273,
            "upload_time": "2025-09-08T05:14:52",
            "upload_time_iso_8601": "2025-09-08T05:14:52.079919Z",
            "url": "https://files.pythonhosted.org/packages/fe/38/0b36b7150ea4cd2526d2d067368d51947aa43b3dc16fe9b3e4fd86dbdfe7/bash-script-maker-1.11.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-08 05:14:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "securebitsorg",
    "github_project": "bash-script-maker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "ttkbootstrap",
            "specs": [
                [
                    ">=",
                    "1.10.1"
                ]
            ]
        },
        {
            "name": "pygments",
            "specs": [
                [
                    ">=",
                    "2.15.1"
                ]
            ]
        },
        {
            "name": "Pillow",
            "specs": [
                [
                    ">=",
                    "9.0.0"
                ]
            ]
        }
    ],
    "tox": true,
    "lcname": "bash-script-maker"
}
        
Elapsed time: 2.36432s