Linux & Shell

KommandozeilenparserGrenzen sichtbar machen

Untersuchen Sie Tokens, PATH-Einträge oder Umgebungsnamen, ohne einen Befehl auszuführen.

Kommandozeilenparser

Eingabetext

Analysierte Einträge

Die Eingabe bleibt in diesem Browser. Befehle werden niemals ausgeführt.

Eingabeoptionen

Dialekt: gemeinsame POSIX-sh/Bash-Zitatregeln. Tokens sind lexikalische Wörter, kein Laufzeit-argv. Expansionen und Shell-Operatoren werden abgewiesen.

Bis 65.536 UTF-16-Einheiten und 512 Einträge. Anzeige in Schritten von 50.

Ergebnis veraltet. Vor dem Export erneut analysieren.

Ein Kommandozeilenparser hilft, wenn ein Dateiname mit Leerzeichen plötzlich zwei Argumente ergibt oder ein leeres Argument verloren geht. Vergleichen Sie den ursprünglichen Abschnitt mit seinem Wert nach dem Entfernen der Anführungszeichen, bevor Sie den Aufruf ändern.

Für die Umgebungsvariable PATH gibt es eine eigene Listenansicht. Ein dritter Modus erfasst ausschließlich Variablennamen. Eine Shell-Zuweisung, der rohe PATH-Wert und einzelne NAME=VALUE-Zeilen sind unterschiedliche Eingaben und benötigen den passenden Modus.

Warum diesen Kommandozeilenparser nutzen?

Erst die Grenzen prüfen, dann den Ausgangstext ändern.

Leere Argumente bleiben erkennbar

Der Kommandozeilenparser behält leere zitierte Tokens bei und verbindet direkt benachbarte Textstücke. Original und Position stehen neben dem Ergebnis. Ein offenes Anführungszeichen wird als Fehler gemeldet, statt den Befehl stillschweigend umzuschreiben.

Zusammengehörige Abschnitte werden zu einzelnen Tokens; ein leerer Rahmen bleibt als eigenes Token bestehen.

Duplikate entfernen, Reihenfolge behalten

PATH wird weder alphabetisch sortiert noch normalisiert. Bei identischen nichtleeren Einträgen bleibt das erste Vorkommen erhalten, ebenso sämtliche Leerstellen. Vor Entfernen und Verschieben erscheint eine Vorschau; danach lassen sich Eingabe und Ergebnis einmal wiederherstellen.

Ein doppelter Ordner wird entfernt, während die übrigen Ordner und eine Leerstelle ihre Reihenfolge behalten.

Drei Annahmen vor dem Export prüfen

01

Das Eingabeformat festlegen

Der Befehlsmodus verwendet die gemeinsame POSIX-sh/Bash-Teilmenge für Anführungszeichen. PATH erwartet den reinen Wert; Umgebungsnamen werden aus einzelnen NAME=VALUE-Zeilen gelesen. Ein Moduswechsel ersetzt Ihren Text nicht.

  • Ein Semikolon als PATH-Trenner aktiviert keine Windows-Befehlszeilensyntax.
02

Positionen und Leerstellen lesen

Werte erscheinen als JSON-Zeichenfolgen, damit leere Strings, Leerzeichen und Zeilenumbrüche unterscheidbar bleiben. Doppelte Pfade verweisen auf das erste Vorkommen; wiederholte Variablennamen werden nicht überschrieben.

  • Zeilen und Spalten beginnen bei eins; Quelltext-Offsets zählen UTF-16-Einheiten.
03

Die Vorschau bewusst anwenden

Duplikate, Verschiebungen, Beispieltext und Leeren benötigen zuerst eine Vorschau. Automatisch wird nach 350 ms neu analysiert. Ohne Automatik verwenden Sie die Schaltfläche oder Strg/Cmd+Enter.

  • Jede Eingabe- oder Optionsänderung sperrt beide Exporte bis zum aktuellen Ergebnis.

Tokens, Suchpfade und Variablennamen

Quelltext und Token vergleichen

Befehlszeilenargumente hängen von ihren Grenzen ab. Einfache Anführungszeichen bewahren den Inhalt. Doppelte erhalten Leerzeichen und behandeln Backslashes nach den eingeschränkten POSIX-Regeln. Benachbarte Fragmente werden verbunden; -1 wird nicht ohne Kenntnis des Programms als Option eingestuft.

PATH-Reihenfolge untersuchen

Wählen Sie Doppelpunkt oder Semikolon ausdrücklich aus. Die Liste zeigt Positionen, Duplikate und leere Einträge. Nur spätere, exakt gleiche nichtleere Werte werden entfernt. Das Verschieben betrifft zwei Listenplätze und wird vorher bestätigt.

Umgebungsnamen inventarisieren

Erfasst werden ASCII-Namen mit optionalem export-Präfix, Leerzeilen und ganzen Kommentarzeilen. Wiederholungen behalten ihre Fundstellen. Der Text hinter dem Gleichheitszeichen wird weder ausgewertet noch im Ergebnis oder JSON-Bericht gespeichert.

Vollständigen Bericht ausgeben

Die Ansicht zeigt jeweils 50 Einträge und lässt sich erweitern. Der Export enthält trotzdem alle Datensätze mit Positionen und Duplikatverweisen. Bei einem Fehler bleibt kein scheinbar erfolgreicher Teilbericht zum Kopieren freigegeben.

Grenzen der Prüfung

Tokens sind kein fertiges argv
Auch Wörter wie NAME=value erscheinen als Tokens. Das Werkzeug kennt weder Optionsschemas noch Aliase, Builtins oder die Grammatik reservierter Wörter. Eine erfolgreiche Zerlegung bestätigt nicht, dass das Programm den Aufruf akzeptiert.
Keine Ausführung oder Expansion
Nicht zitierte Operatoren und Expansionszeichen werden abgewiesen. In doppelten Anführungszeichen gilt das auch für nicht maskierte Dollarzeichen und Backticks. Variablen, Globs, Substitutionen und ANSI-C-Quoting werden nicht ausgewertet; passende Zitate oder Escapes machen Zeichen gegebenenfalls wörtlich.
Nur ein logischer Befehl
Pipelines, Umleitungen, Befehlslisten und ungeschützte Zeilenumbrüche zwischen Befehlen sind ausgeschlossen. Backslash plus LF setzt die logische Zeile fort; LF am Ende ist zulässig. CR im Befehlsmodus wird gemeldet und nicht automatisch umgewandelt.
Pfade bleiben unverändert
Keine Leerzeichenbereinigung, Groß-/Kleinschreibung, Slash-Normalisierung oder Dateisystemprüfung. /bin und /bin/ bleiben verschieden. Leere Einträge in einem POSIX-PATH stehen für das aktuelle Verzeichnis und werden behalten. Anführungszeichen und Variablenreferenzen bleiben im rohen PATH wörtlich.
Namensliste statt dotenv-Prüfung
Umgebungswerte bleiben undurchsichtiger Text, selbst bei unvollständigen Anführungszeichen. Eine Fortsetzungszeile ohne NAME= ist ungültig. Werte bearbeiten, expandieren oder in die Systemumgebung schreiben gehört nicht zu dieser Ansicht.
Begrenzte Eingabe und Dialekte
Zulässig sind 65.536 UTF-16-Einheiten und 512 Einträge. Das sind Werkzeuggrenzen, keine Betriebssystemgrenzen. Windows CRT, cmd, PowerShell, Datei-Uploads, Programmsuche und Links mit eingebetteter Eingabe werden nicht unterstützt.

Fragen zum Kommandozeilenparser

Wie wirken Variablen und Anführungszeichen in Bash zusammen?

Anführungszeichen im Shell-Quelltext steuern die Zerlegung. Zeichen, die erst aus dem Inhalt einer Variablen kommen, werden dabei nicht automatisch erneut als Shell-Syntax gelesen. Dieses Werkzeug untersucht den eingefügten Text einmal und verwendet kein eval.

Wie bleibt ein Dateiname mit Leerzeichen ein einzelnes Argument?

In der unterstützten Syntax schützen einfache oder doppelte Anführungszeichen die enthaltenen Leerzeichen. Der Ergebniswert zeigt den vollständigen Namen als ein Token. Ob der aufrufende Code dieses Token anschließend wieder falsch zerlegt, kann die Seite nicht prüfen.

Warum wirkt eine mit source geladene Einstellung anders?

source führt eine Datei in der aktuellen Shell aus; ein separat gestartetes Skript arbeitet normalerweise in einer eigenen Prozessumgebung. Diese Seite führt beides nicht aus und kann nur eingefügte Variablennamen auflisten, nicht Ihre Shell verändern.

Kann ich Duplikate ohne sort und ohne neue Reihenfolge entfernen?

Ja. Im PATH-Modus entfernt die Vorschau ausschließlich spätere exakt gleiche nichtleere Einträge. Das erste Vorkommen und alle leeren Einträge bleiben an ihrer bisherigen relativen Position. Erst Anwenden schreibt die Liste zurück; danach ist einmaliges Rückgängigmachen möglich.

Warum braucht ein Skript manchmal ./ vor dem Namen?

./ benennt ausdrücklich eine Datei im aktuellen Verzeichnis. Ein bloßer Programmname wird nach den Regeln der Shell gesucht, unter anderem über PATH. Das aktuelle Verzeichnis muss darin nicht enthalten sein. Die Liste zeigt nur Ihren eingefügten Text und prüft keine ausführbaren Dateien.

Fehlt ein Adress- oder Präfixfall?

Zur aktuellen Eingabe zurückkehren

Prüfen Sie im Kommandozeilenparser die Originalabschnitte und Positionen, bevor Sie den aktuellen Bericht exportieren.

Es wird kein Befehl ausgeführt und keine Systemumgebung geändert.