Tôi có cấu trúc thư mục này:
~/tmp/globstar ɀ find dir -type f
dir/file.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
và, với globstartùy chọn được bật trong Bash, tôi có thể nói:
~/tmp/globstar ɀ ls -1 dir/**/*.ext
dir/subdir1/file.ext
dir/subdir2/file.ext
Câu hỏi của tôi là: tại sao dir/file.extbị loại khỏi danh sách này?
Hướng dẫn Bash nói điều này về globstar:
Nếu được đặt, mẫu '**' được sử dụng trong ngữ cảnh mở rộng tên tệp sẽ khớp với tất cả các tệp và không hoặc nhiều thư mục và thư mục con. Nếu mẫu được theo sau bởi '/', chỉ các thư mục và thư mục con phù hợp.
Không có gì khác trong đoạn này cho tôi ấn tượng dir/file.extnên được đưa vào; trừ khi tôi hy vọng thiếu một cái gì đó
unicode ɀhoặc Wikipedia
ɀchỉ là một ký tự được sử dụng ở đây để phân biệt dấu nhắc. Một số người dùng thích nhân vật £hoặc €thay vì $:). Ban đầu, ɀmột ký tự 'z' được tạo cho một ký hiệu ngôn ngữ châu Phi đặc biệt :-)
ɀ?