Re: [SSFR] Partage de fonctions ...

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


>
> euhh il doit y avoir erreur, il me semble que canonicalize_filename
> traite uniquement de chaines (virer les ., .., bidouilles a base de
> \ et / & autres, elle ne garantie en rien les types constituant le chemin
> sur un fs qquelconque (symlink) :)

si elle déréference les liens symboliques (d'après le manuel de la glibc) :

 -- Function: char * canonicalize_file_name (const char *NAME)
     The `canonicalize_file_name' function returns the absolute name of
     the file named by NAME which contains no `.', `..' components nor
     any repeated path separators (`/') or symlinks.

bien sur ça ne gère pas liens physiques mais ça c'est pas très grave.

>
> pour ce que j'ai pu voir de la fonction python elle fait reference a
> getcwd qui doit raporter un chemin absolu du working directory du process
> apres que celui-ci se soit placé dans un chemin ou se trouve un fichier.
> En se rappelant que seul ce chemin peut etre unique, car le fichier peut
> lui apparaitre a plusieurs chemins sur un meme fs (hard link).
>
> l'equivalent en bash ca peut etre: cd $(dirname blabla) && pwd -P && cd -
>

ok mais il reste le cas ou le dernier composant du chemin est un lien 
symbolique. Pas si évident que ça à regler.

à part ça j'ai aussi installé bash-builtins sans trouver la fonction realpath, 
mais j'ai fini par découvrir que readlink offrait les paramètres suivants :

       -f, --canonicalize
              canonicalize by following every symlink in every component of 
the given name recursively; all but the last component must exist

       -e, --canonicalize-existing
              canonicalize by following every symlink in every component of 
the given name recursively, all components must exist

       -m, --canonicalize-missing
              canonicalize by following every symlink in every component of 
the given name recursively, without requirements on components existence

exactement ce que je cherchais, je savais bien que c'était quelque part ^^

merci pour les réponses,
-- 
Cédric Lucantis

---


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/