yurakolotov: (Default)
yurakolotov ([personal profile] yurakolotov) wrote2012-04-05 02:37 pm
Entry tags:

Снова линукс, или Как сломать рекурсию

Дверь проломить - купил отбойный молоток
В. Высоцкий, "Песня автозавистника"


Написал (на Матлабе) простую функцию: начиная с данной папки, пройти по всем подлежащим папкам рекурсивно и обработать (некоторым способом) все найденные файлы с расширением DAT.

По ошибке запустил её не из своей директории, а из /root.

Молчала полминуты, потом заявила: "Слишком глубокая рекурсия (500 заходов), если хотите раздвинуть пределы ... " и т.д.

Поскольку такой глубины дерево не бывает, пришлоть копнуть. За две минуты докопался. В некоей директории ХХХ дорогой и любимый Линукс, умница и лапочка, держал линк на "../ХХХ". Естественно, прямой как палка Матлаб решил, что этот линк - директория и пошёл жрать свой собственный хвост.

По словам коллеги: отбойным молотком очень удобно раздвигать пределы рекурсии.

[identity profile] kot-begemot.livejournal.com 2012-04-05 01:30 pm (UTC)(link)
Иногда очень удобно иметь возможность сослаться на себя таким вот нетривиальным образом.
Матлаб вообще-то должен (по идее) содержать какой-то способ вызова библиотечных функций из glibc, но в этом я совсем не спец.