전체 링크를 인쇄하는 추가 옵션으로 심볼릭 링크를 해결하고 싶습니다. 예를 들어, readlink -f "symlink2"
링크의 각 항목을 보고하는 명령을 실행하고 싶습니다 . 즉, "symlink2->symlink1->/path/file" 심볼릭 링크를 확인하려는 경우 위 명령의 결과는 "/path/file"입니다. 다음과 같은 출력을 얻고 싶습니다.
$readlink -f "symlink2
symlink1
/path/file
답변1
한 가지 방법은 자신만의 재귀를 만드는 것입니다 readlink
.
function readlinkWithPrint() {
link=`readlink "$@"`
[ -e "$link" ] && echo "$link"
[ -h "$link" ] && readlinkWithPrint "$link"
}
다음은 테스트입니다.
$ touch file
$ ln -s file symlink1
$ ln -s symlink1 symlink2
$ readlinkWithPrint symlink2
symlink1
file
불행하게도 이 기능은 매우 기본적입니다. 처음에 제공하는 옵션은 readlink
나머지 옵션에 전파되지 않으며 여러 파일을 읽을 수 없습니다.