Tôi muốn lặp qua tất cả các tệp khớp với tiện ích jpg
hoặc txt
. Tôi sử dụng:Cách đối sánh không có gì nếu tên tệp glob không có kết quả phù hợp
for file in myDir/*.{jpg,txt}
do
echo "$file"
done
Vấn đề: Nếu thư mục không chứa tập tin jpg ở tất cả, vòng lặp sẽ có một lần lặp với sản lượng myDir/*.jpg
. Tôi thougth *
sẽ được thay thế bằng một tập tin tùy ý (và nếu không có tập tin tồn tại nó không thể được mở rộng). Làm cách nào để tránh lặp lại không mong muốn?
Nếu một mô hình không có trận đấu, hành vi/POSIX mặc định là để điều trị các mô hình như là một chuỗi theo nghĩa đen, chứ không phải là bỏ qua hoặc loại bỏ các mô hình. – chepner
Không liên quan đến câu hỏi, nhưng lưu ý rằng niềng răng không phải là một phần của mẫu. Chúng là viết tắt 'bash' để tạo ra một tập hợp các chuỗi liên quan và mở rộng chuỗi đó thành' myDir/* .jpg myDir/*. Txt' trước khi bắt đầu mẫu khớp. – chepner