[Megoldva] Create recursively following symbolic link

Fórumok

Van egy szimbolikus linkem (egy könyvtárra), ln -s /tmp/b B módon előállítva:
B -> /tmp/b

Szeretnék létrehozni egy újabb szimlinket:

A -> B

de oly módon, hogy az A szimlink tartalma ne B legyen, hanem /tmp/b.
(Sőt, ha ez is egy szimlink, akkor ez is legyen feloldva, és így tovább, rekurzívan a végső fájlig, ami már nem link.)

Magyarán: úgy szeretnék létrehozni szimbolikus linket, hogy a célja (amire mutat) már ne legyen szimbolikus link, hanem oldódjanak föl az esetleges közbeeső szimlinkek.

(Ennek gyakorlati oka egyébként az, hogy egy ismétlődően végrehajtandó feladatnál linkkel szoktam hivatkozni az előző feladatból már előállt (és frissen nem előállt) könyvtárakat. Ilyenkor egy idő után már nehéz megmondani, hogy mennyire régi (és hol is van) az a könyvtár, amire sok tranzitív linken át hivatkozom.)

Hozzászólások

readlink -f

pl.: ln -s `readlink -f oldsymlink` newsymlink

Köszi, szuper! Kérdés megoldva.

A gyakorlati problémám felgöngyölítéséhez már csak egy olyan kiterjesztés kellett, amivel egy ln -s /tmp/itt/* . parancsot is ki tudok adni a fenti elv használatával. De ez is működik: ls /tmp/itt/|xargs -iQ sym /tmp/itt/Q .
(A ~/bin/sym-be betettem ezt: ln -s `readlink -f $1` $2)