LINUX.ORG.RU

абсолютный путь


0

0

есть ли возможность узнать из относительного пути абсолютный ?
те если возможность в программе из вызова:

super_prog ./xxx

понять что ./xxx это на самом скажем деле /tmp/xxx ?


> super_prog ./xxx
> понять что ./xxx это на самом скажем деле /tmp/xxx ?


Не полное условие задачи. Если это свой бинарник и нужен только линукс, то путь к бинарю будет в /proc/self/exe

andreyu ★★★★★
()
Ответ на: комментарий от andreyu

мне не нужен путь к бинарю, но его сырец мой

xtron
() автор топика
Ответ на: комментарий от anonymous

да наверно я туплю, ведь относительные пути относительны текущего каталога и выходит что ./xxx это текущий каталог плюс этот путь.

в super_prog делается stat() аргумента и stat() программа сделает и для ./xxx и для /tmp/xxx и для /tmp/../tmp/../tmp/xxx ей пофигу, но хотелось бы знать абсолютный путь и не писать какие-то парсеры вот таких извращенных аргументов для получания путя...

но однако сомнительно что такая функция есть, ведь на один и тот же каталог может ссылаться несколько каталогов через mount --bind

xtron
() автор топика
Ответ на: комментарий от andreyu

лесом ходят белорусские ев^Wпартизаны

dilmah ★★★★★
()
Ответ на: комментарий от lodin

>Можно readlink -f вызвать, или посмотреть, как там это делается.

Да, смотри-ка:

$ cd /tmp/
$ touch xxx

$ readlink -f ./xxx
/tmp/xxx

$ readlink -f /tmp/../tmp/xxx
/tmp/xxx

$ readlink -f xxx
/tmp/xxx


Походу это то что нужно.

xtron
() автор топика

man realpath

PS на некоторых платформах он глючный

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.