Hallo, Am Fri, 19 Sep 2003, Jan Trippler schrieb:
Am Freitag, 19. September 2003 14:53 schrieb David Haller: [..]
Naja, das 'readlink $name' kann man evtl. auf mehr Plattformen auch durch
ls -l "$name" | awk '{print $NF;}'
Nein: jan@roland:~/tmp> touch "l i n k" jan@roland:~/tmp> ln -s "l i n k" l jan@roland:~/tmp> ls -l l | awk '{print $NF}' k
*autsch* stimmt. '| awk -F'>' '{print $2;}' sollte aber meist klappen. Bei Dateinamen wie 'C|N>K' geht das aber auch schief ;) Wie portable ist eigentlich -F<string>? z.B.: $ ln -s usr/bin/foo.sh './C|N>K' $ ls -l C\|N\>K | awk -F" -> " '{print $2;}' usr/bin/foo.sh Jaja, ich ahne es, das ist auch wieder ein GNUism. Hm. lt. der manpage... Mompl... Jep. Ist es. Das awk auf nem SunOS 5.8 kennt das nicht so, sondern interpretiert das wie IFS als Zeichenaufzaehlung.
oder ein
find "$name" -printf "%l"
ersetzen (oder ist das "%l" schon wieder GNU find spezifisch?).
Nicht der %l, sondern der printf ist GNU-spezifisch.
Stimmt. o.g. awk/SunOS/Solaris kennt das net. *boerks* Und wenn's dann noch nichtmal nen compiler gibt... (auf der Kiste, auf der ich testen kann gibt's zum Glueck einen). Faellt dir was ein, wie man readlink sonst ggfs. ersetzten koennte? -dnh -- Mal ne Nacht drueber schlafen ist bei Linux eine "gute Idee"[tm] ;) [David Haller in suse-linux]