Linux & Shell

Shell escapenArgumentgrenzen erhalten

Ziel-Shell wählen und unveränderte Argumentwerte eingeben. Ein optionaler Programmname ergänzt die Vorschau.

Shell escapen

Unveränderte Argumentwerte

Zitierte Argumente / Befehlsvorschau

Verarbeitung in diesem Browser. Keine Ausführung und kein Upload der Eingabe.

Zitierungsoptionen

Genau einen Namen oder Pfad ohne Optionen eingeben; leer lassen für reine Argumente.

Arrays akzeptieren nur Strings. Leere Werte und eingebettete Umbrüche bleiben erhalten.

Grenze: zusammen 65.536 Zeichen für Eingabe und Befehl; 1.000 Argumente.

Nur eine Shell-Ebene. CMD, verschachtelte Befehle und native Windows-Parser sind nicht abgedeckt.

1 Argumente erzeugt. Die Vorschau wurde nicht ausgeführt.

Shell escapen hilft bei Dateipfaden mit Leerzeichen und Namen mit Apostrophen. Was in einem Textfeld zusammengehört, kann im Terminal in mehrere Argumente zerfallen oder eine Variablenersetzung auslösen.

Legen Sie zuerst die Grenzen fest: Im Einzelmodus ist der gesamte Inhalt ein Wert. Ein JSON-Array trennt mehrere Zeichenfolgen eindeutig, auch wenn eine davon leer ist oder einen Zeilenumbruch enthält.

Warum mit diesem Werkzeug Shell escapen?

Leere Argumente behalten ihren Platz

Shell escapen erhält bei ["", "two words"] beide Argumente. Das erste bleibt leer, das Leerzeichen im zweiten bleibt Teil des Werts. Es gibt weder Trimmen noch Sortieren oder Entfernen von Duplikaten.

Drei Wertekarten behalten ihre Reihenfolge und getrennten Rahmen, einschließlich einer leeren Karte.

Eine andere Syntax für denselben Wert

POSIX unterbricht die einfachen Anführungszeichen für ein eingebettetes Apostroph. PowerShell verdoppelt das Zeichen. Beim Wechsel der Shell ändert sich nur die erzeugte Syntax, einschließlich der Behandlung typografischer Anführungszeichen.

Ein Eingabewert verzweigt zu zwei unterschiedlichen Einfassungen für zwei Shell-Dialekte.

Zuerst Werte abgrenzen, dann zitieren

01

Leer ist nicht abwesend

[] enthält kein Argument; [""] enthält ein leeres. Im Einzelmodus kann eine leere Eingabe manuell als leeres Argument erzeugt werden. Die Aktion Leeren entfernt dagegen auch das Ergebnis und stoppt ausstehende Aufgaben.

  • Ein \n innerhalb einer JSON-Zeichenfolge steht für einen Zeilenumbruch im selben Argument.
02

Den Programmnamen getrennt halten

Das Befehlsfeld nimmt genau einen Namen oder Pfad auf. Optionen gehören ins Argument-Array. Bei PowerShell ergänzt die Vorschau den Aufrufoperator & vor einem zitierten Programmpfad.

  • Leerzeichen im Befehlsfeld gehören zum Pfad und trennen keine Optionen ab.
03

Anzahl und Aktualität prüfen

Die automatische Umwandlung wartet 350 ms. Nach dem Ausschalten erscheinen die Schaltfläche und die manuelle Ausführung über Strg/Cmd + Enter. Änderungen sperren den Export veralteter Ergebnisse sofort.

  • Beispiel und Leeren zeigen zunächst eine Vorschau; Rückgängig stellt Eingabe und Ergebnis wieder her.

Wörtliche Werte für den nächsten Aufruf

Bash-Argumente einzeln zitieren

Einfache Anführungszeichen halten Dollarzeichen, Platzhalter, Semikolons und Backticks wörtlich. Text, der wie eine Befehlssubstitution aussieht, bleibt ein Argumentwert. Das Ergebnis gilt für eine einzige Shell-Ebene.

PowerShell-Strings mit Apostrophen

ASCII-Apostrophe und U+2018 bis U+201B werden jeweils verdoppelt. Backslashes bleiben unverändert. Im Einzelmodus kann ein Windows-Pfad direkt eingegeben werden; im Array gilt die JSON-Schreibweise.

Vollständige Vorschau exportieren

Die einzeln zitierten Werte werden mit Leerzeichen verbunden und gezählt. Optional entsteht mit einem Programmnamen eine Aufrufvorschau. Kopieren und TXT-Download enthalten das gesamte Ergebnis; ein leeres Array ohne Programm erzeugt keinen Text.

Grenzen der erzeugten Syntax

Keine zweite Parser-Ebene
CMD, Batchdateien, fish, .env und verschachtelte SSH-Aufrufe sind nicht abgedeckt. Windows PowerShell 5.1, Legacy-Modus oder native Programme können Argumente erneut interpretieren. Die PowerShell-Ausgabe beschreibt nur die Sprachebene.
Unverarbeitete Werte eingeben
Keine vollständigen Befehle zerlegen oder vorhandene Maskierung aufheben. Variablenexpansion, Datei-Upload und URL-Import fehlen bewusst. Ein Array erzeugt eine Argumentfolge und keine Bash-Variablendeklaration.
Keine Prüfung der Befehlswirkung
Das Werkzeug führt nichts aus und prüft keine Programme. --delete kann auch zitiert eine Option bleiben. Ein -- als Optionsende wird nicht automatisch ergänzt; dafür zählt die Schnittstelle des Zielprogramms.
Begrenzte Länge und eindeutige Typen
Eingabe und Programmname dürfen zusammen 65.536 UTF-16-Codeeinheiten enthalten, das Array höchstens 1.000 Strings. Zahlen, Wahrheitswerte, null, Objekte und verschachtelte Arrays werden abgelehnt.
Keine stillen Zeichenverluste
NUL und ungepaarte Unicode-Surrogate sind Fehler. Leerzeichen, Tabs und Umbrüche bleiben erhalten, sodass die Ausgabe mehrere Zeilen belegen kann. Fehler in Array-Elementen zeigen deren Anfang und Nummer.

Fragen zu Shell escapen

Wie lässt sich ein einfaches Anführungszeichen in einem Bash-String maskieren?

Schließen Sie in POSIX zunächst die einfachen Anführungszeichen, fügen Sie das maskierte Apostroph außerhalb ein und öffnen Sie sie erneut. Aus O'Brien wird 'O'\''Brien'. Die POSIX-Option übernimmt das für jedes Apostroph.

Was unterscheidet einfache und doppelte Anführungszeichen in Bash?

Einfache Anführungszeichen erhalten den wörtlichen Wert. Doppelte erlauben weiterhin Expansionen wie $HOME und $(...). Hier wird absichtlich wörtlich zitiert; gewünschte Expansionen müssen im eigentlichen Skript stehen.

Wie übergibt man Argumente mit Leerzeichen?

Zitieren Sie jedes Argument einzeln statt die ganze Befehlszeile. Für zwei Werte mit Leerzeichen geben Sie im Array-Modus zwei JSON-Strings an und kontrollieren anschließend die Anzahl zwei.

Warum gehen leere Werte beim Aufteilen einer Zeichenfolge verloren?

Eine Trennung an Leerzeichen oder Begrenzern kann leere Felder verlieren. ["a", "", "b"] erhält hier drei Argumente. [] und [""] unterscheiden sich ausdrücklich als null beziehungsweise ein Argument.

Kann ein PowerShell-String ein einfaches Anführungszeichen enthalten?

Ja: PowerShell schreibt ein inneres Apostroph doppelt, etwa 'don''t'. Auch die vom Parser erkannten typografischen Einzelzeichen werden verdoppelt. Das ersetzt weder CMD-Regeln noch die Argumentverarbeitung nativer Programme.

Unerwartetes Ergebnis?

Vor dem Aufruf die Werte prüfen

Shell escapen mit der tatsächlich verwendeten Ziel-Shell: Anzahl kontrollieren, Vorschau lesen und erst das aktuelle Ergebnis übernehmen.