Wenn ich einen symbolischen Link mit /var/opt/foo
erstellt habe ln -fs /path/to/target/dir foo
. Wie kann ich in einem Skript, das nur den Link sieht, bekommen /path/to/target/dir
?
Was ich im Skript erreichen möchte, ist, rm -rf /path/to/target/dir
bevor ich es tue ln -fs /path/to/another/dir foo
.
readlink()
seit den Tagen von 4.2BSD einen Systemaufruf. Das aktuelle BSD-readlink
Dienstprogramm wurde mit FreeBSD 4.10 veröffentlicht. Es wurde als fester Link für denstat
Befehl (neu) implementiert ( MacOS X-Handbuchseite FreeBSD 9-Handbuchseite ). Beachten Sie, dass es keine-m
Option gibt.-f
undreadlink -f
funktioniert genauso gut (vorausgesetzt, das Link-Ziel existiert). In BSDrealpath
scheint eine andere Alternative zu seinreadlink -m
.Ein Weg ist (ich hoffe auf eine bessere Version)
quelle
readlink
ist dein Freund.