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/