I eine Ant build.xml
Skript, das die folgenden Ausschnitt umfasst:Bedeutet ein Doppelstern-Wildcard etwas außer "globstar"?
<fileset dir="${project.home}/${project.lib}">
<include name="**/*.jar"/>
</fileset>
Nach den Antworten auf this question und dem Bash documentation ist die doppelsträngige Sternchen angibt globstar
pattern-matching:
globstar
Wenn gesetzt, wird das Muster '**', das in einem Dateinamenerweiterungskontext verwendet wird, mit allen Dateien und null oder mehr Verzeichnissen und Unterverzeichnissen übereinstimmen. Wenn auf das Muster ein '/' folgt, stimmen nur die Verzeichnisse und Unterverzeichnisse überein.
Dies scheint der Sinn, in dem sie wer den Code bedeutete es geschrieben zu arbeiten: alle .jar
Dateien innerhalb des Projekts Bibliotheksverzeichnis finden, unabhängig davon, wie viele Verzeichnisse tief. Der Code wird routinemäßig in einer Bash-Shell ausgeführt, für die die globstar
-Einstellung deaktiviert ist. In diesem Fall scheint es, als ob der Doppelstern als ein einzelner Stern interpretiert werden müsste, der den Build sprengen würde. Trotzdem funktioniert der Build sehr gut.
Gibt es außerhalb von globstar
ein Szenario, für das die Bash-Shell **
in irgendeiner Weise anders als *
interpretiert? Zum Beispiel, unterscheidet die extglob
Einstellung allein die beiden? Die Dokumentation dazu scheint spärlich zu sein.
Vielen Dank! Ich suchte nach "Ant Doppelstern", "Ant **", "XML Doppelstern", "XML **", usw., und bis "UNIX" fand ich nichts als Verweise auf Potenzierung (was dies eindeutig nicht ist) double asterisk "hat mich zu Bashs" globstar "gebracht. Deshalb nahm ich an, dass es etwas mit Bash zu tun hatte. Danke nochmal für deine Hilfe! – JonahHuron