Tôi đang cố gắng thiết lập một tập lệnh sẽ lặp qua một tập các thư mục và thực hiện một điều khi nó tìm thấy các tệp .jpg và một tập lệnh khác khi nó tìm thấy các tập tin .nef. Vấn đề là, nếu một thư mục không có tệp .jpg chẳng hạn (hoặc .nef) thì mục nhập toàn cầu không còn là một thế giới mở rộng, mà chỉ là một chuỗi. Ví dụ:
my_dir="pictures/"
ext="JPG"
for f in "$my_dir"*."$ext"; do
echo $f
done
nếu thư mục my_dir có tệp .JPG trong đó, thì chúng sẽ được lặp lại chính xác trên dòng lệnh.
pictures/one.JPG
pictures/two.JPG
Tuy nhiên, nếu my_dir không có tệp .JPG, thì vòng lặp sẽ nhập cho một lần lặp và echo:
pictures/*.JPG
Làm thế nào để tôi xây dựng cái này để nếu toàn cầu không có kết quả khớp, nó không vào vòng lặp for?