[linux-l] symbolische Links im Pfad
Frank Reker
frank at reker.net
Do Apr 28 19:13:57 CEST 2005
Am Thu 28. Apr 2005 17:57 +0000 schrieb Axel Weiß:
>Hi,
>
>wie kann (bash-scripted) ich feststellen, ob ein gegebener Pfad einen
>symbolischen Link enthält?
>
>Beispiel:
>Pfad: /a/b/c/d/e
>und /a/b/c ist ein symlink auf /f/g/h
cd "`dirname "$mypath"`"
if test "`pwd -P`" != "`pwd -L`"; then
echo "contains symlinks"
else if test -L "`basename "$mypath"`"; then
echo "is symlink"
else
echo "no symlinks"
fi
cd -
oder:
function testsymlinks ()
{
test -z "$1" -o "$1" = "/" && return 1
test -L "$1" && return 0
testsymlinks "`dirname "$1"`"
return $?
}
wobei 2. loesung aber nur mit absoluten pfaden funzt, waehrend 1.
rechteprobleme haben kann (keine executerechte (aber leserechte) auf ein
verzeichnis). mit einer kombination aus 1. und 2. kannst du eine
allgemeingueltige loesung schaffen.
ne elegantere loesung faellt mir aber spontan nicht ein.
--
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20050428/82eb9093/attachment.sig>
Mehr Informationen über die Mailingliste linux-l