/ / Was macht 0 ## * / in ZSH? - Zsh

Was macht 0 ## * / in ZSH? - Zsh

Ich verstehe, dass es ein Muster ist, und es verursacht ein Suchen:

zsh: no matches found: 0##*/

Ich habe jedoch keine Ahnung, wonach es sucht oder welches Befehlszeilentool die Anfrage tatsächlich aufgibt.

Antworten:

1 für die Antwort № 1

Dieser Fehler kommt von zsh selbst, die Dateinamenserweiterung (AKA globbing) macht. Dies ist in der abgedeckt Dateinamenserzeugung Abschnitt der zshexpn Man Seite.

Wenn du das hast EXTENDED_GLOB option set (abgedeckt in der zshoptions man Seite) ## Token verhält sich wie ein + würde in einem erweiterten regulären Ausdruck, 1 oder mehr Vorkommen des vorherigen Elements (0 in Ihrem Beispiel). Folgende * würde jeder Zeichenfolge entsprechen (einschließlich nichts). Das / Am Ende würde die Übereinstimmung auf Verzeichnisse beschränken. Das gesamte Muster entspricht also jedem Verzeichnis in Ihrem aktuellen Verzeichnis, in dem der Name beginnt 0. Obwohl es wirklich keinen Grund gibt, den ## Portion; Dies würde die Ergebnisse nicht beeinflussen und das Muster für andere Shells verwirrender und nicht portabler machen.

Wenn diese Option nicht ausgewählt ist, ## Charaktere würden wörtlich genommen werden. Das * und / Die Zeichen würden genauso behandelt werden, wie ich es im vorhergehenden Abschnitt beschrieben habe. Das gesamte Muster würde mit jedem Verzeichnis in Ihrem aktuellen Verzeichnis übereinstimmen, in dem der Name beginnt 0##.


Kommentare (0)

Einen Kommentar hinzufügen