답변:
link=/var/opt/foo
target=$(readlink "$link")
$target
파일 시스템에 저장된 그대로 링크의 대상이되었습니다.
그러나 심볼릭 링크는 상대적 일 수 있으므로 일반적인 사용법에 더 좋습니다.
target=$(readlink -f "$link")
이것은 readlink
BSD 및 다른 시스템에는 없을 수있는 GNU Coreutils에서 사용 합니다.
편집 : readlink -f
링크 대상이 존재하는 한 BSD에서 작동합니다. realpath
비슷한 방식으로 작동하는 또 다른 BSD 전용 도구입니다.
-f
, 그리고 readlink -f
단지뿐만 아니라 (링크 대상이 존재 가정) 작동합니다. BSD에서 realpath
다른 대안으로 보입니다 readlink -m
.
readlink()
4.2BSD 시절부터 시스템 호출 을 해왔습니다 . 현재 BSD의readlink
유틸리티 는 FreeBSD 4.10과 함께 릴리스되었습니다.stat
명령에 대한 하드 링크로 다시 구현되었습니다 ( MacOS X 매뉴얼 페이지 FreeBSD 9 매뉴얼 페이지 ).-m
옵션 이 없습니다 .