bu basit döngü düşünün:Basit Bash - *
for f in *.{text,txt}; do echo $f; done
Ben SADECE geçerli bir dosya adlarını yankı istiyorum. Bir komut dosyasında $ f değişkenini kullanarak, bu uzantıya ait dosyalar olmadıkça her şey harika çalışır.
*.text
*.txt
ziyade yankılanan şey: Boş bir setin durumda, $ f * .text ve yukarıdaki satır Yankılanmayı ayarlanır. Bu gerçek bir gerçek dosya adı bekliyor ve bunun yerine * alır her şey için $ f kullanmaya çalışıyorsanız, bir hata oluşturur.
Joker karakterle eşleşen herhangi bir dosya varsa, boş bir set olmadığından, her şey istediğim gibi çalışır. Örneğin.
123.text
456.txt
789.txt
nasıl hatasız ve yıldız işareti için ilk dize eşleşen $ f görünüşte aşırı karmaşıklığı olmadan bunu yapabilir mi?
Bu tam olarak aradığım şey. Teşekkürler! – user1610022