Dans un programme (en C) j'aimerai pouvoir reconnaître si deux noms
de répertoires sont en fait les mêmes répertoires.
Par exemple, reconnaitre que "/usr/bin" et "/usr/../usr/bin" sont le
même répertoire.
Je pourrais regarder l'inode, mais il me semble que les inodes sont
uniques par systèmes de fichier uniquement, donc ce n'est surement pas
la solution ultime. Je pourrais aussi remplacer les "/../" par des "/"
mais ça ne règle pas la question des liens symbolique (et c'est laid).
Je me demandais s'il n'y avait pas un truc bien connu, genre un appel
système, pour résoudre ce problème. Qu'en dites vous ?
Les chemins commencant par "//" peuvent etre speciaux. cd // n'est pas garanti d'etre la meme chose que cd / d'apres POSIX. Le comportement de bash est probablement acceptable. Une application (un script) POSIX ne devrait pas faire de cd //.
Les chemins commencant par "//" peuvent etre speciaux. cd //
n'est pas garanti d'etre la meme chose que cd / d'apres POSIX.
Le comportement de bash est probablement acceptable. Une
application (un script) POSIX ne devrait pas faire de cd //.
Les chemins commencant par "//" peuvent etre speciaux. cd // n'est pas garanti d'etre la meme chose que cd / d'apres POSIX. Le comportement de bash est probablement acceptable. Une application (un script) POSIX ne devrait pas faire de cd //.
-- Stéphane
Alain Montfranc
Matthieu Moy a écrit
Cyrille Lefevre <cyrille.lefevre-news% writes:
a écrit :
Bonjour !
Dans un programme (en C) j'aimerai pouvoir reconnaître si deux noms de répertoires sont en fait les mêmes répertoires.
Par exemple, reconnaitre que "/usr/bin" et "/usr/../usr/bin" sont le même répertoire. [...]