Próbuję uzyskać zawartość katalogu za pomocą skryptu powłoki.
Mój skrypt to:
for entry in `ls $search_dir`; do
echo $entry
done
gdzie $search_dirjest ścieżka względna. Jednak $search_dirzawiera wiele plików ze spacjami w nazwach. W takim przypadku ten skrypt nie działa zgodnie z oczekiwaniami.
Wiem, że mógłbym użyć for entry in *, ale to działałoby tylko w moim bieżącym katalogu.
Wiem, że mogę przejść do tego katalogu, użyć go, for entry in *a następnie zmienić z powrotem, ale moja szczególna sytuacja uniemożliwia mi to.
Mam dwóch ścieżek względnych $search_diri $work_dir, a ja mam do pracy na obu jednocześnie, czytając im tworzenie / usuwanie plików w nich itd.
Więc co mam teraz zrobić?
PS: używam basha.
for entry in "$search_dir/*"nie działa? Dlaczego musimy umieszczać/*poza cudzysłowami?