Kabuk betiği kullanarak bir dizinin içeriğini almaya çalışıyorum.
Benim senaryom:
for entry in `ls $search_dir`; do
echo $entry
done
$search_dir
göreceli bir yol nerede . Ancak, $search_dir
adlarında boşluk bulunan birçok dosya içerir. Bu durumda, bu komut dosyası beklendiği gibi çalışmaz.
Kullanabileceğimi biliyorum for entry in *
, ama bu sadece mevcut dizinim için işe yarayacaktır.
O dizine geçebileceğimi biliyorum, for entry in *
sonra tekrar değiştirebiliyorum, ama özel durumum bunu yapmamı engelliyor.
İki göreceli yolum var $search_dir
ve $work_dir
her ikisinde de aynı anda çalışmam gerekiyor, bunları içinde dosya oluşturma / silme vb.
Peki şimdi ne yapacağım?
PS: Ben bash kullanıyorum.
for entry in "$search_dir/*"
işe yaramadığını açıklayabilir misiniz ? Neden/*
tekliflerin dışına koymamız gerekiyor?