Gentoo Logo
Gentoo Spaceship




Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-user-el
Navigation:
Lists: gentoo-user-el: < Prev By Thread Next > < Prev By Date Next >
Headers:
To: gentoo-user-el@g.o
From: mrJesus <mrJesusSuperstar@...>
Subject: Re: check symlink validity
Date: Fri, 17 Feb 2012 00:38:53 +0200
δεν είμαι σίγουρος τι θες να κάνεις, αλλά αν πχ ψάχνεις όλα <div>τα broken symlinks τότε το ευκολότερο που μπορείς να κάνεις</div><div>είναι:</div><div><br></div><div>    $ find /where/to/check -follow -type l 2&gt;/dev/null</div>

<div><br></div><div>που θα επιστρέψει τα σπασμένα symlinks μόνο,</div><div>αφού τα σωστά θα τα &quot;ακολουθήσει&quot;. </div><div>επίσης δε είμαι σίγουρος τι εννοείς για τους καταλόγους.</div><div>δεν αλλάζει κάτι αν το symlink δείχνει σε αρχεία ή φακέλους. </div>

<div><br></div><div><br><div class="gmail_quote">2012/2/17 Theo Chatzimichos <span dir="ltr">&lt;<a href="mailto:tampakrap@g.o">tampakrap@g.o</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="HOEnZb"><div class="h5">On Thursday 16 of February 2012 23:52:01 Alex-P. Natsios wrote:<br>
&gt; 2012/2/16 Theo Chatzimichos &lt;<a href="mailto:tampakrap@g.o">tampakrap@g.o</a>&gt;:<br>
&gt; &gt; Καλησπέρα,<br>
&gt; &gt;<br>
&gt; &gt; μήπως γνωρίζει κανείς κανένα τρόπο (σε bash,python,perl ή ruby) να ελέγχω<br>
&gt; &gt; αν ένα symlink είναι valid? Για καταλόγους μπορώ να τους ακολουθώ και να<br>
&gt; &gt; παίρνω το exit code μετά, για αρχεία όμως?<br>
&gt;<br>
&gt; θοδωρή αυτό που ζητάς και γίνετε.. και δεν γίνετε.. και είναι και<br>
&gt; σχετικά περίεργο ανάλογα την πλατφόρμα.<br>
&gt; για links και για τις περισσότερες πλατφόρμες (κυρίως unixοειδή )<br>
&gt; υπάρχει το readlink.<br>
&gt;<br>
&gt; Πρόβλημα:<br>
&gt; δεν ακολουθεί δυστυχώς chain links.<br>
&gt; θα σου δώσει όμως το αρχείο στο οποιο κάνει point το link<br>
&gt;<br>
&gt; αν έχουμε ας πούμε το symlink ( testlink -&gt; testfile )<br>
&gt; το File.readlink(&quot;testlink&quot;) θα σου επιστρέψει testfile.<br>
&gt;<br>
&gt;<br>
&gt; ΥΓ. τα παραπάνω ισχύουν για Ruby και Ruby on Rails.<br>
<br>
</div></div>Thanks. Some dirty solutions by irc brainstorming:<br>
<br>
Python:<br>
<br>
if not os.path.islink(&#39;/path/to/symlink&#39;):<br>
  print &quot;not a symlink&quot;<br>
else:<br>
  try:<br>
    os.stat(&#39;/path/to/symlink&#39;)<br>
  except OSError:<br>
    print &quot;symlink is broken&quot;<br>
<br>
Bash:<br>
<br>
SYMLINK=&quot;/path/to/symlink&quot;<br>
# Check for valid target file<br>
[[ -L $SYMLINK ]] &amp;&amp; \<br>
cat $SYMLINK &gt; /dev/null 2&gt;&amp;1 &amp;&amp; \<br>
VALID=1<br>
# Check for valid target dir<br>
[[ -n VALID ]] || \<br>
[[ -L $SYMLINK ]] &amp;&amp; \<br>
pushd $SYMLINK &gt; /dev/null 2&gt;&amp;1 &amp;&amp; \<br>
VALID=1<br>
popd &gt; /dev/null 2&gt;&amp;1<br>
<div class="HOEnZb"><div class="h5">--<br>
Theo Chatzimichos (tampakrap) | <a href="http://blog.tampakrap.gr" target="_blank">blog.tampakrap.gr</a><br>
Gentoo KDE/Qt, Planet, Overlays</div></div></blockquote></div><br></div>
Replies:
Re: check symlink validity
-- Theo Chatzimichos
References:
check symlink validity
-- Theo Chatzimichos
Re: check symlink validity
-- Alex-P. Natsios
Re: check symlink validity
-- Theo Chatzimichos
Navigation:
Lists: gentoo-user-el: < Prev By Thread Next > < Prev By Date Next >
Previous by thread:
Re: check symlink validity
Next by thread:
Re: check symlink validity
Previous by date:
Re: check symlink validity
Next by date:
Re: check symlink validity


Updated May 30, 2012

Summary: Archive of the gentoo-user-el mailing list.

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.