Может ли преобразование пути A/./B
изменить A/B
его смысл?
Я знаю, что путь A/foo/../B
может не ссылаться на тот же объект, что и A/B
, из-за символических ссылок (если foo
это символическая ссылка, то A/foo/..
может не быть тем же объектом, что и A
). Я хотел бы проверить, нет ли подобных опасностей сA/./B
решение1
В теории, .
не являетсягарантированобыть текущим каталогом, так же как и ..
негарантированобыть родительским каталогом. Однако, если это не так, у вас либо повреждена файловая система (в этом случае все ставки отменяются), либо очень высокая степень волшебства, с которой вы вряд ли столкнетесь в реальной жизни. Я бы сказал, что безопасно удалить '.' компоненты.