for i in $(ls);do
if [ $i = '*.java' ];then
echo "I do something with the file $i"
fi
done
Geçerli klasördeki her dosyada döngü yapmak ve belirli bir uzantıyla eşleşip eşleşmediğini kontrol etmek istiyorum. Yukarıdaki kod çalışmıyor, nedenini biliyor musunuz?
$i
literal dize "* .java" için; burada desen genişletme yapılmaz.
if [[ $i == *.java ]]; then
.. kullanın (çift [[]] s ve tırnaksız * .java'ya dikkat edin).
ls
- kabul etme @ chepner'ın cevabını
for i in $(ls *.java); do echo "do something with file $i"; done
?