Odpowiedzi:
Nie parsujls . Również nie używać ALL_CAPS_VARS
for i in "$incoming_dir"/*"$business_date"*; do
Interaktywnie lsma -dopcję, która uniemożliwia zejście do podkatalogów:
ls -d $INCOMINGDIR/*$BUSSINESSDATE*
"${i}". Nigdy nie wiesz, co może być i.
my_file.doc[newline]another_persons_file.doci mieć nadzieję, że niektóre skrypty mogą spróbować „rm”, co uważa za 2 nazwy plików ... Link Glenna jest koniecznością do przeczytania (na mywiki.wooledge.org każdy powinien przeczytać cała FAQ, a także strona pułapek)
ls -d .*
Nie ma powodu, dla którego to polecenie powinno być rekurencyjne. Ale jeśli $INCOMINGDIR/*$BUSSINESSDATE*pasuje do katalogu, wówczas zawartość tego katalogu jest wyświetlana zamiast samego katalogu. Ale nie byłoby rekurencji poza tym poziomem.
Użyj tego polecenia, aby uniknąć tego efektu:
ls -d "$INCOMINGDIR/"*"$BUSSINESSDATE"*
for ... inpolecenia z lswyjściem są ryzykowne.
Ogólnie findwydaje się lepsze rozwiązanie lub
for i in "$INCOMINGDIR/"*"$BUSSINESSDATE"*
printf %s\\n "$INCOMINGDIR/"*"$BUSINESSDATE"*