<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Shell Script Archive - MetinCelik.de</title>
	<atom:link href="https://www.metincelik.de/tag/shell-script/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.metincelik.de/tag/shell-script/</link>
	<description>Tipps, Tutorials, Blog, Webentwicklung, Design, SciFi</description>
	<lastBuildDate>Sun, 15 Mar 2026 04:48:03 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>AI für Shell Scripts &#038; Automation</title>
		<link>https://www.metincelik.de/kuenstliche-intelligenz/ai-fuer-shell-scripts/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ai-fuer-shell-scripts</link>
		
		<dc:creator><![CDATA[MetinC]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 08:12:00 +0000</pubDate>
				<category><![CDATA[Künstliche Intelligenz]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[AI Tools]]></category>
		<category><![CDATA[Automation]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Heimwerken]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[PowerShell]]></category>
		<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[Werkzeug]]></category>
		<guid isPermaLink="false">https://www.metincelik.de/allgemein/ai-fuer-shell-scripts/</guid>

					<description><![CDATA[<p>AI für Shell Scripts &#38; Automation: Bash, PowerShell und CLI-Tools mit ChatGPT &#38; Claude erstellen. 10 Prompts für Automatisierung und Scripting. Einleitung Shell-Scripting und Automatisierung gehören zu den wichtigsten Developer-Skills. AI kennt die Syntax von Bash, PowerShell und Co. auswendig und erstellt robuste Scripts in Sekunden. Hier sind 10 Prompts für Shell Scripts und Automation. [&#8230;]</p>
<p>Der Beitrag <a href="https://www.metincelik.de/kuenstliche-intelligenz/ai-fuer-shell-scripts/">AI für Shell Scripts &amp; Automation</a> erschien zuerst auf <a href="https://www.metincelik.de">MetinCelik.de</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="meta-description">AI für Shell Scripts &amp; Automation: Bash, PowerShell und CLI-Tools mit ChatGPT &amp; Claude erstellen. 10 Prompts für Automatisierung und Scripting.</p>



<h2 class="wp-block-heading">Einleitung</h2>



<p>Shell-Scripting und Automatisierung gehören zu den wichtigsten Developer-Skills. AI kennt die Syntax von Bash, PowerShell und Co. auswendig und erstellt robuste Scripts in Sekunden. Hier sind <strong>10 Prompts</strong> für Shell Scripts und Automation.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Insbesondere für fortgeschrittene Projekte ist das relevant.</p>



<h2 class="wp-block-heading">Inhaltsverzeichnis</h2>



<ol class="wp-block-list"><li><a href="#bash-basics">Prompt 1: Bash Script erstellen</a></li><li><a href="#file-ops">Prompt 2: Datei-Operationen</a></li><li><a href="#cron">Prompt 3: Cron Jobs &amp; Scheduling</a></li><li><a href="#deploy-script">Prompt 4: Deployment Scripts</a></li><li><a href="#backup-script">Prompt 5: Backup &amp; Restore</a></li><li><a href="#log-analysis">Prompt 6: Log-Analyse &amp; Monitoring</a></li><li><a href="#cli-tool">Prompt 7: CLI Tool bauen</a></li><li><a href="#powershell">Prompt 8: PowerShell Scripts</a></li><li><a href="#git-hooks">Prompt 9: Git Hooks &amp; Workflows</a></li><li><a href="#makefile">Prompt 10: Makefile &amp; Task Runner</a></li><li><a href="#faq-shell">FAQ</a></li></ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Dementsprechend solltest du die einzelnen Schritte sorgfältig abarbeiten.</p>



<h2 class="wp-block-heading" id="bash-basics">Prompt 1: Bash Script erstellen</h2>



<p>Zusammenfassend lässt sich sagen, dass dies ein zentraler Aspekt ist.</p>



<pre class="wp-block-code"><code>Erstelle ein Bash Script für:

Aufgabe: [z.B. "Alle .log Dateien älter als 30 Tage löschen"]
OS: [Linux / macOS / beides]

Anforderungen:
1. Shebang (#!/bin/bash) und set -euo pipefail
2. Argumente parsen (getopts oder benannte Parameter)
3. Help/Usage Ausgabe (-h, --help)
4. Input-Validierung (Existiert der Pfad? Sind Rechte da?)
5. Farbige Ausgabe (grün = Erfolg, rot = Fehler)
6. Logging (stdout + optionale Logdatei)
7. Error Handling (trap für Cleanup)
8. Dry-run Modus (--dry-run zeigt was passieren würde)
9. Confirmation Prompt ("Wirklich 47 Dateien löschen? [y/N]")
10. Exit Codes (0 = OK, 1 = Error, 2 = Usage Error)

Best Practices beachten:
- Variablen in Anführungszeichen: "$variable"
- shellcheck-kompatibel
- Portable (POSIX wo möglich)</code></pre>



<p>Natürlich solltest du den generierten Code vor dem Einsatz testen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Außerdem profitierst du von einem systematischen Vorgehen.</p>



<h2 class="wp-block-heading" id="file-ops">Prompt 2: Datei-Operationen</h2>



<p>Dementsprechend solltest du die folgenden Aspekte kennen.</p>



<pre class="wp-block-code"><code>Erstelle Shell-Befehle für Datei-Operationen:

Aufgabe: [z.B. "CSV Dateien verarbeiten, zusammenführen, konvertieren"]

Zeige Lösungen mit:
1. **find**: Dateien suchen (Größe, Datum, Name, Typ)
2. **grep/ripgrep**: Text in Dateien suchen
3. **sed**: Text ersetzen (in-place und mit Backup)
4. **awk**: Spalten extrahieren, Berechnungen, Aggregationen
5. **sort/uniq**: Sortieren, Duplikate, Häufigkeiten
6. **xargs**: Ergebnisse an nächsten Befehl pipen
7. **jq**: JSON Dateien filtern und transformieren
8. **cut/paste**: Spalten ausschneiden, Dateien zusammenführen
9. **wc/head/tail**: Zählen, Anfang/Ende anzeigen
10. **rsync**: Dateien synchronisieren (lokal &amp; remote)

One-Liner + erklärendes Script für jedes Beispiel.
Zeige die Pipe-Kette und erkläre jeden Schritt.</code></pre>



<p>Im Grunde funktioniert dieser Ansatz mit allen gängigen AI-Tools.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Ebenfalls empfehlenswert ist eine regelmäßige Überprüfung der Ergebnisse.</p>



<h2 class="wp-block-heading" id="cron">Prompt 3: Cron Jobs &amp; Scheduling</h2>



<p>Somit kannst du direkt mit der Umsetzung beginnen.</p>



<pre class="wp-block-code"><code>Richte Cron Jobs / Scheduled Tasks ein:

Aufgaben:
1. [z.B. "Backup täglich um 3:00 Uhr"]
2. [z.B. "Log Rotation jeden Sonntag"]
3. [z.B. "Health Check alle 5 Minuten"]

Erstelle:
1. Crontab-Eintrag mit Erklärung der Syntax (Min H Tag Mon Wochentag)
2. Das ausgeführte Script (mit Logging!)
3. Fehlerbehandlung (was wenn Script fehlschlägt?)
4. E-Mail/Slack Benachrichtigung bei Fehler
5. Lockfile (Script nicht parallel ausführen)
6. Output Redirect (stdout + stderr in Logdatei)
7. Systemd Timer (Alternative zu Cron, empfohlen!)
8. Anacron (für Rechner die nicht 24/7 laufen)
9. Monitoring: Healthchecks.io oder Cronitor
10. Testing: Cron-Job manuell testen vor dem Einrichten

Häufige Fehler:
- PATH nicht gesetzt in Cron
- Relative Pfade funktionieren nicht
- Permissions/User-Kontext falsch</code></pre>



<p>Dabei zeigt dieses Beispiel den grundlegenden Ansatz.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Folglich verbessert sich die gesamte Codequalität deutlich.</p>



<h2 class="wp-block-heading" id="deploy-script">Prompt 4: Deployment Scripts</h2>



<p>Ebenfalls relevant sind die praktischen Anwendungsbeispiele.</p>



<pre class="wp-block-code"><code>Erstelle ein Deployment Script:

Projekt: [z.B. "Node.js App auf Linux Server"]
Methode: [SSH / Docker / rsync / Git Pull]

Implementiere:
1. **Pre-Deploy Checks**: Tests durchlaufen? Branch korrekt? .env vorhanden?
2. **Backup**: Aktuellen Stand sichern vor Deploy
3. **Upload**: Code auf Server (rsync, scp, git pull)
4. **Dependencies**: npm install --production
5. **Build**: npm run build (falls nötig)
6. **Migrations**: Datenbank-Migrationen ausführen
7. **Restart**: Service neu starten (systemd, pm2)
8. **Health Check**: Ist die App nach Deploy erreichbar?
9. **Rollback**: Bei Fehler alten Stand wiederherstellen
10. **Notification**: Slack/Discord Nachricht bei Deploy

Bonus:
- Zero-Downtime Deployment (symlink switching)
- Version Tracking (welcher Commit ist deployed?)
- Deploy Lock (nicht parallel deployen)</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Zusammenfassend bietet dieser Abschnitt praktische Handlungsempfehlungen.</p>



<h2 class="wp-block-heading" id="backup-script">Prompt 5: Backup &amp; Restore</h2>



<p>Grundsätzlich gibt es dabei einige Punkte zu beachten.</p>



<pre class="wp-block-code"><code>Erstelle ein Backup-System mit Shell Scripts:

Was sichern: [z.B. "PostgreSQL DB + /var/www Dateien + Nginx Config"]
Wohin: [z.B. "S3 Bucket + lokale Festplatte"]

Implementiere:
1. **DB Backup**: pg_dump / mysqldump mit Komprimierung
2. **Datei Backup**: tar + gzip mit Exclude-Patterns
3. **Inkrementelles Backup**: Nur geänderte Dateien (rsync, borgbackup)
4. **Verschlüsselung**: gpg oder openssl für sensible Daten
5. **Upload**: S3 (aws cli), B2 (Backblaze), oder SFTP
6. **Rotation**: Letzte 7 Tage, 4 Wochen, 12 Monate aufbewahren
7. **Verifikation**: Backup Integrität prüfen (Checksumme)
8. **Restore Script**: Wiederherstellung testen!
9. **Monitoring**: Warnung wenn Backup fehlschlägt oder ausbleibt
10. **Dokumentation**: README mit Restore-Anleitung

3-2-1 Regel: 3 Kopien, 2 Medien, 1 offsite.
Cron: Automatische Ausführung zur Nachtzeit.</code></pre>



<p>Insbesondere die Struktur des Prompts ist dabei entscheidend für gute Ergebnisse.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Zudem lassen sich die Ergebnisse auch auf andere Projekte übertragen.</p>



<h2 class="wp-block-heading" id="log-analysis">Prompt 6: Log-Analyse &amp; Monitoring</h2>



<p>Außerdem gibt es hilfreiche Tools, die dich dabei unterstützen.</p>



<pre class="wp-block-code"><code>Erstelle Shell Scripts für Log-Analyse:

Log-Format: [z.B. "Nginx Access Log" / "Application JSON Logs"]
Aufgabe: [z.B. "Fehler-Trends erkennen, Top IPs, langsame Requests"]

Erstelle One-Liner für:
1. Top 10 IP-Adressen (nach Requests)
2. HTTP Status Code Verteilung
3. Langsamste Requests (Response Time > 5s)
4. 404 Errors gruppiert nach URL
5. Requests pro Stunde (Traffic Pattern)
6. Error Rate der letzten 24 Stunden
7. Verdächtige Zugriffe (Rate > 100 req/min pro IP)
8. Disk Space Monitoring mit Alert
9. CPU/Memory Monitoring Script
10. Live Log Tailing mit Filter (tail -f | grep)

Bonus:
- Ergebnisse als Slack/Teams Notification senden
- Einfaches Alerting Script (wenn Threshold überschritten)
- Aggregierte Daten in CSV/JSON exportieren</code></pre>



<p>Weiterhin ist es ratsam, die Ergebnisse immer kritisch zu prüfen.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Deshalb ist es wichtig, diesen Abschnitt aufmerksam zu lesen.</p>



<h2 class="wp-block-heading" id="cli-tool">Prompt 7: CLI Tool bauen</h2>



<p>Im Folgenden findest du alle wichtigen Details dazu.</p>



<pre class="wp-block-code"><code>Baue ein CLI Tool:

Name: [z.B. "projinit"]
Zweck: [z.B. "Neues Projekt initialisieren mit Template"]
Sprache: [Bash / Node.js (Commander.js) / Python (Click)]

Features:
1. **Subcommands**: projinit create, projinit list, projinit config
2. **Argumente**: projinit create --name myapp --template react
3. **Interaktiver Modus**: Fragen stellen wenn Argumente fehlen
4. **Config File**: ~/.projinit.yaml für Defaults
5. **Farbige Ausgabe**: chalk/rich/tput für formatierte Ausgabe
6. **Progress Bar**: Für lange Operationen
7. **Tab Completion**: Bash/Zsh Autocomplete
8. **Versionierung**: --version Flag
9. **Error Messages**: Hilfreiche Fehlermeldungen
10. **Man Page / README**: Dokumentation generieren

Distribution:
- npm publish (Node.js)
- Homebrew Formula (macOS)
- Single binary (pkg, PyInstaller)</code></pre>



<p>Dementsprechend ist eine manuelle Überprüfung empfehlenswert.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Grundsätzlich empfiehlt es sich, schrittweise vorzugehen.</p>



<h2 class="wp-block-heading" id="powershell">Prompt 8: PowerShell Scripts</h2>



<p>Dennoch solltest du einige Besonderheiten beachten.</p>



<pre class="wp-block-code"><code>Erstelle PowerShell Scripts für:

Aufgabe: [z.B. "Windows Server Administration automatisieren"]

Erstelle:
1. **Service Management**: Dienste prüfen, starten, stoppen
2. **Datei-Operationen**: Bulk Rename, Move, Cleanup
3. **Registry**: Einstellungen lesen und setzen
4. **Netzwerk**: Ports prüfen, DNS Tests, Connectivity
5. **Active Directory**: User anlegen, Gruppen verwalten
6. **Scheduled Tasks**: Windows Task Scheduler konfigurieren
7. **Event Log**: Fehler im Windows Event Log filtern
8. **IIS Management**: Website erstellen, App Pool verwalten
9. **Remote Execution**: Invoke-Command auf mehreren Servern
10. **Reporting**: HTML Report generieren (ConvertTo-Html)

PowerShell Best Practices:
- Approved Verbs (Get-, Set-, New-, Remove-)
- Parameter-Validierung ([ValidateSet], [ValidateRange])
- -WhatIf und -Confirm Support
- Proper Error Handling (try/catch/finally)
- Pipeline Support (ValueFromPipeline)</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Zusätzlich gibt es einige bewährte Tipps für den Alltag.</p>



<h2 class="wp-block-heading" id="git-hooks">Prompt 9: Git Hooks &amp; Workflows</h2>



<p>Natürlich gibt es dabei verschiedene Herangehensweisen.</p>



<pre class="wp-block-code"><code>Erstelle Git Hooks für mein Projekt:

Projekt: [z.B. "Node.js Monorepo"]
Tools: [Husky / lefthook / native Git Hooks]

Implementiere:
1. **pre-commit**: Lint + Format (lint-staged)
2. **commit-msg**: Conventional Commits erzwingen
3. **pre-push**: Tests laufen lassen, keine Secrets pushen
4. **post-merge**: npm install wenn package.json geändert
5. **prepare-commit-msg**: Branch-Name in Commit einfügen
6. **post-checkout**: .env Datei prüfen, Dependencies updaten

Automatisierung:
7. **Release Script**: Changelog generieren, Version bumpen, Tag
8. **Branch Cleanup**: Merged Branches löschen
9. **PR Template**: Automatisch Vorlage laden
10. **Danger/GitHub Actions**: CI als "Hook" nutzen

Setup:
- Husky installieren und konfigurieren
- lint-staged für staged-only Linting
- commitlint für Commit Message Format</code></pre>



<p>Deshalb empfiehlt es sich, den Prompt schrittweise zu verfeinern.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Allerdings gibt es dabei einige Punkte, die du beachten solltest.</p>



<h2 class="wp-block-heading" id="makefile">Prompt 10: Makefile &amp; Task Runner</h2>



<p>Dabei spielen mehrere Faktoren eine wichtige Rolle.</p>



<pre class="wp-block-code"><code>Erstelle ein Makefile / Task Runner für mein Projekt:

Projekt: [z.B. "Docker-basierte Microservices"]
Alternative: [Makefile / Just / Task (taskfile.dev)]

Erstelle Tasks für:
1. **make dev**: Lokale Entwicklungsumgebung starten
2. **make build**: Projekt bauen (Docker Images)
3. **make test**: Alle Tests ausführen
4. **make lint**: Linting und Formatting
5. **make deploy**: Production Deployment
6. **make db-migrate**: Datenbank Migrationen
7. **make seed**: Testdaten einfügen
8. **make clean**: Aufräumen (Caches, Build Artifacts)
9. **make docs**: Dokumentation generieren
10. **make help**: Alle verfügbaren Commands mit Beschreibung

Makefile Features:
- .PHONY für nicht-Datei Targets
- Variablen und Umgebungsvariablen
- Abhängigkeiten zwischen Targets
- Conditional Execution
- Self-documenting (make help autogeneriert)</code></pre>



<p>Somit sparst du Zeit und erhältst qualitativ hochwertigeren Output.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Dabei ist der folgende Punkt besonders wichtig.</p>



<h2 class="wp-block-heading" id="faq-shell">FAQ</h2>



<h3 class="wp-block-heading">Bash oder Python für Scripts?</h3>



<p>Vor allem für den praktischen Einsatz sind diese Informationen wertvoll.</p>



<p>Bash für einfache Datei-Operationen, Pipes und System-Tasks (< 50 Zeilen). Python sobald es komplex wird: Error Handling, APIs, Datenstrukturen, Tests. Faustregel: Wenn du ein Array brauchst, nimm Python.</p>



<h3 class="wp-block-heading">Wie teste ich Shell Scripts?</h3>



<p>Im Grunde vereinfacht dieser Ansatz den gesamten Workflow erheblich.</p>



<p>Nutze shellcheck für statische Analyse, bats-core für Unit Tests, und Docker für isolierte Test-Umgebungen. Immer mit &#8211;dry-run Modus entwickeln. AI kann Tests für deine Scripts schreiben.</p>



<h3 class="wp-block-heading">Wie sicher ist AI-generierter Shell Code?</h3>



<p>Darüber hinaus bietet dieser Abschnitt konkrete Beispiele und Tipps.</p>



<p>Vorsicht bei rm -rf, chmod, und sudo Befehlen! AI generiert funktionierenden Code, aber prüfe immer: Werden Pfade korrekt gequotet? Gibt es Race Conditions? Laufen Befehle mit zu vielen Rechten? Teste in einer Sandbox.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Vor allem in der Praxis hat sich dieser Workflow bewährt.</p>



<p><strong>Verwandte Artikel:</strong></p>



<ul class="wp-block-list"><li><a href="/artikel/ai-fuer-devops">AI für DevOps</a></li><li>Zusätzlich <a href="/artikel/ai-fuer-regex">AI für Regex</a></li><li><a href="/artikel/ai-fuer-git-versionskontrolle">AI für Git &amp; Versionskontrolle</a></li></ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p>Darüber hinaus solltest du diesen Aspekt berücksichtigen.</p>



<p style="font-style:italic">Zuletzt aktualisiert: März 2026</p>
<p>Der Beitrag <a href="https://www.metincelik.de/kuenstliche-intelligenz/ai-fuer-shell-scripts/">AI für Shell Scripts &amp; Automation</a> erschien zuerst auf <a href="https://www.metincelik.de">MetinCelik.de</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
