Ich habe diese Verzeichnisstruktur:
~/tmp/globstar ɀ find dir -type f
dir/file.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
globstarWenn die Option in Bash aktiviert ist, kann ich sagen:
~/tmp/globstar ɀ ls -1 dir/**/*.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
Meine Frage ist: Warum ist dir/file.extvon dieser Liste ausgeschlossen?
Bash-Handbuch sagt dies über globstar:
Wenn festgelegt, stimmt das in einem Dateinamenerweiterungskontext verwendete Muster '**' mit allen Dateien sowie mit null oder mehr Verzeichnissen und Unterverzeichnissen überein. Wenn dem Muster ein '/' folgt, stimmen nur Verzeichnisse und Unterverzeichnisse überein.
" Null " in diesem Absatz lassen Sie mich mit dem Eindruck, der dir/file.exthätte einbezogen werden sollen; es sei denn, ich vermisse hoffentlich etwas.
ɀist nur ein Zeichen, das hier verwendet wird, um die Eingabeaufforderung zu unterscheiden. Einige Benutzer bevorzugen den Charakter £oder €anstelle von $:). Ursprünglich wurde ɀein '
ɀ?