المهارات posix-shell-pro
🐚

posix-shell-pro

آمن ⚙️ الأوامر الخارجية

Schreibe portable POSIX-Shell-Skripte für jedes Unix-System

Shell-Skripte funktionieren oft aufgrund von bash-spezifischen Features nicht auf verschiedenen Systemen. Dieser Skill stellt sicher, dass Ihre Skripte überall durch strikte POSIX-Konformität ausgeführt werden können.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "posix-shell-pro". Erstellen Sie ein POSIX-Skript, das ein Verzeichnis mit Validierung sichert

النتيجة المتوقعة:

  • #!/bin/sh
  • set -eu
  •  
  • Usage: backup.sh <source_dir> <dest_dir>
  •  
  • if [ $# -lt 2 ]; then
  • echo "Error: source and destination required" >&2
  • exit 1
  • fi
  •  
  • src="$1"
  • dest="$2"
  •  
  • [ -d "$src" ] || { echo "Source not a directory" >&2; exit 1; }
  • mkdir -p "$dest" || exit 1
  •  
  • tar -cf - -C "$src" . | (cd "$dest" && tar -xf -)
  • echo "Backup completed successfully"

استخدام "posix-shell-pro". Überprüfen Sie portabel, ob ein Befehl existiert

النتيجة المتوقعة:

Use: command -v cmd >/dev/null 2>&1 && echo "found" || echo "missing"

التدقيق الأمني

آمن
v1 • 2/24/2026

This is a prompt-only skill with no executable code. Static analysis scanned 0 files and detected 0 security issues with a risk score of 0/100. The skill provides instructional content on POSIX shell scripting best practices and actually promotes security patterns including input validation, safe variable quoting, cleanup traps, and warnings against eval on untrusted input. No network calls, command execution, or sensitive operations detected.

0
الملفات التي تم فحصها
0
الأسطر التي تم تحليلها
1
النتائج
1
إجمالي عمليات التدقيق

عوامل الخطر

⚙️ الأوامر الخارجية
لم يتم تسجيل أي مواقع محددة
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

Plattformübergreifende Deployment-Skripte

Erstellen Sie Installations- und Deployment-Skripte, die identisch auf Linux, BSD, macOS und eingebetteten Systemen funktionieren, ohne dass eine bash-Installation erforderlich ist.

Container- und eingebettete System-Tools

Erstellen Sie leichtgewichtige Skripte für Alpine Linux, BusyBox und ressourcenbeschränkte Umgebungen, in denen bash nicht verfügbar ist.

Legacy-Systemadministration

Verwalten und modernisieren Sie Skripte für ältere Unix-Systeme wie Solaris, AIX und Legacy-Linux, die möglicherweise kein bash haben oder ältere Versionen verwenden.

جرّب هذه الموجهات

Basis-POSIX-Skript-Vorlage
Erstellen Sie ein POSIX-konformes Shell-Skript, das Eingabeargumente validiert und eine einfache Dateioperation ausführt. Fügen Sie eine ordnungsgemäße Fehlerbehandlung mit set -eu, Eingabevalidierung und Cleanup-Traps ein.
Konvertiere bash zu POSIX
Konvertieren Sie dieses bash-Skript in striktes POSIX sh. Ersetzen Sie alle Arrays, [[-Konditionale und bash-spezifischen Features durch POSIX-konforme Entsprechungen. Erklären Sie jede vorgenommene Änderung.
Portable Argumentanalyse
Implementieren Sie eine POSIX-konforme Argumentanalyse für ein Skript, das -h für Hilfe, -v für verbose, -o für Ausgabedatei und positionale Argumente akzeptiert. Verwenden Sie while und case ohne getopts für lange Optionen.
Plattformübergreifender Kompatibilitäts-Helfer
Erstellen Sie eine POSIX-Shell-Funktionsbibliothek, die Plattformunterschiede zwischen Linux, BSD, macOS und BusyBox behandelt. Fügen Sie OS-Erkennung, Verfügbarkeitsprüfungen für Befehle und portable Implementierungen häufiger Hilfsprogramme ein.

أفضل الممارسات

  • Klammern Sie Variablenerweiterungen immer als "$var" ein, um Wortaufteilung und Globbing zu verhindern
  • Verwenden Sie printf anstelle von echo für alle Ausgaben, da sich das echo-Verhalten über verschiedene Shells unterscheidet
  • Implementieren Sie Cleanup mit trap-Befehlen, um temporäre Dateien bei EXIT-, INT- und TERM-Signalen zu entfernen

تجنب

  • Verwendung von [[-Konditionalen oder bash-Arrays, die auf dash, ash und anderen POSIX-Shells fehlschlagen
  • Verwendung von echo -e oder echo -n, die über verschiedene Systeme inkonsistentes Verhalten aufweisen
  • Verwendung von Prozesssubstitution <() oder des source-Befehls anstelle von Pipes und dem Punkt-Operator

الأسئلة المتكررة

Was ist der Unterschied zwischen POSIX sh und bash?
POSIX sh ist eine standardisierte minimale Shell, die auf allen Unix-Systemen funktioniert. Bash fügt viele Erweiterungen wie Arrays, [[-Konditionale und Prozesssubstitution hinzu, die die Portabilität brechen. Skripte, die nur POSIX-Features verwenden, laufen auf dash, ash, busybox und allen POSIX-konformen Shells.
Wie teste ich, ob mein Skript wirklich POSIX-konform ist?
Führen Sie Ihr Skript mit dash ./script.sh aus, da dash streng auf POSIX-Konformität achtet. Verwenden Sie auch ShellCheck mit dem Flag -s sh und checkbashisms, um bash-spezifische Konstrukte zu erkennen, die auf anderen Shells fehlschlagen werden.
Kann ich lokale Variablen in POSIX-sh-Funktionen verwenden?
Das Schlüsselwort local ist nicht POSIX-konform. Verwenden Sie eindeutige Variablennamen mit Funktionspräfixen wie func_name_var oder seien Sie vorsichtig mit globalen Variablen. Einige Shells unterstützen local, aber es wird auf strikten POSIX-Shells fehlschlagen.
Was ersetzt bash-Arrays in POSIX sh?
Verwenden Sie positionale Parameter mit set -- item1 item2 und iterieren Sie mit for arg. Für begrenzte Daten verwenden Sie IFS-Manipulation mit Doppelpunkt- oder Newline-Trennzeichen. Übergeben Sie mehrere Werte als separate Argumente an Funktionen.
Ist dieser Skill kompatibel mit Claude Codex und Claude Code?
Ja, dieser Skill funktioniert mit Claude Codex und Claude Code. Er bietet Anleitungen zur POSIX-Shell-Skripterstellung, unabhängig davon, welchen KI-Assistenten Sie zum Erstellen oder Überprüfen Ihrer Skripte verwenden.
Funktionieren POSIX-Skripte in Docker-Containern?
Ja, besonders in minimalen Containern wie Alpine Linux, das busybox ash als Standard-Shell verwendet. POSIX-Skripte funktionieren in jedem Container ohne Installation von bash, was sie ideal für kleine Container-Images macht.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md