Re: [SSFR] Partage de fonctions ...

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


On 04/04/08 ? ? 12:30, omer wrote:
> Bonjour,
> 
> > Salut,
> >
> > Quelles fonctions, concoctees par vos soins, utilisez vous le plus souvent
> > ?
> 
> Puisqu'on en parle, il y en a une que je cherche depuis longtemps sans avoir 
> trouvé de solution simple. Il s'agit de l'équivalent de la fonction 
> os.path.abspath de python (ou canonicalize_filename de glibc). Autrement dit 
> une fonction qui prend un nom de fichier en paramètre et retourne un chemin 
> absolu et unique ne contenant aucun ., .. ou lien symbolique. Tout ce que 
> j'ai trouvé est une fonction shell horriblement compliquée, ou alors cette 
> solution qui ne me plait pas trop :

Ceci devrait marcher, utilise le builtin bash 'pwd -P' qui resoud les
liens symboliques

abspath() {
        for f; do
                [ ! -e "$f" ] && echo "$f: no such file" && continue
		# trouve le nom absolu
                case "$f" in
                /*) : ;;
                *) f=$PWD/$f;;
                esac
                if [ -d $f ]; then
                        filename=
                else
                        filename="/"${f##*/}
                fi
                pushd ${f%%$filename}
                echo `pwd -P`$filename
                popd
        done
}

arrakis:~ cd /etc
arrakis:/etc abspath ../etc/./passwd $HOME $HOME/link/Makefile /bin/...
/etc/passwd
/home/stephane
/home/stephane/src/sokdist/trunk/Makefile
/

-- 
Stéphane Billiart                      http://perso.orange.fr/billiart/




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