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