Ich habe diese Verzeichnisstruktur:
~/tmp/globstar ɀ find dir -type f
dir/file.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
globstar
Wenn 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.ext
von 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.ext
hä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 '
ɀ
?