1

Для относительных путей я знаю:./ из этого каталога ../ на 1 каталог вверх ../../ это 2 каталога и т.д.

Можно ли продолжать идти вверх, пока не дойдете до указанного каталога?

В основном моя проблема заключается в том, что файл компилируется двумя разными инструментами, а соответствующие рабочие каталоги находятся на разных глубинах каталогов. Так что в зависимости от того, какой поток я использую, необходимо установить ссылку на файл:

../../../my_library/referenced_file.txt или ../../my_library/referenced_file.txt

Я хотел бы пройти сколько угодно каталогов, пока не достигну "my_library"

1 ответ1

3

Нет никакого способа указать «подняться на столько уровней, сколько вам нужно, чтобы найти my_library » в пути, потому что расширение такого пути потребует все более дорогой рекурсии; в общем случае несуществующего пути, например, опечатки, он может пройти весь путь до корневого каталога, а затем выполнить поиск по всей файловой системе, а возвращение "путь не найден" может занять минуты или часы (или, если у вас настроено монтирование NFS или Samba, еще дольше).

Вам нужно будет найти какой-то способ задания рассматриваемого пути в зависимости от того, какой процесс вы выполняете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .