hledam trivialni utilitku

Tom Hudec hudec na fi.muni.cz
Čtvrtek Říjen 14 15:20:10 CEST 1999


Cau,

mam 2 reseni:
a) V Debian distribuci mame realpath (Je v balicku dwww.):
hekale:~$ realpath /usr/X11/bin/xview
/usr/X11R6/bin/xloadimage
hekale:~$ dpkg -S realpath
dwww: /usr/bin/realpath
dwww: /usr/man/man1/realpath.1.gz
manpages-dev: /usr/man/man3/realpath.3.gz

b) Shell script: resolve
#!/bin/bash
# Pozor!!! NEFUNGUJE PRO JMENA SOUBORU OBSAHUJICI MEZERY!!!
NAME="$1"
while [ -L "$NAME" ]; do
  NAME="`/bin/ls -l "$NAME" | sed -e 's?^.* \(.*/\)[^ ]* -> ?\1?'`"
done
echo "$NAME"

c) Program v C:
#include <stdio.h>
#include <sys/param.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
        char resolved[MAXPATHLEN];
        if (argc > 1) {
                printf("%s\n", realpath(argv[1], resolved));
                return 0;
        }
        else {
                fprintf(stderr, "Use: %s filename", argv[0]);
                return 1;
        }
}
   
Egon Eckert wrote:
> 
> Zdravim,
> 
> potreboval bych programek, ktery 'resolvuje' symlinky, tedy neco, co mi
> na
> 
> /usr/X11/bin/xview
> 
> odpovi
> 
> /usr/X11R6/bin/xloadimage
> 
> Doufam, ze to 'ls' neumi, to bych se picnul.. :-)
> 
> Diky, Egon

-- Tom

____________
Tomas HUDEC  ----------------------------------------------------------
~~~~~~~~~~~~  Faculty of Informatics, Masaryk University, 602 00 Brno
   privat:    Bilkova 50, 680 01 Boskovice, CZECH REPUBLIC
   E-mail:    hudec na fi.muni.cz      URL: http://i.am/hudec/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Další informace o konferenci Linux