내부 심볼릭 링크를 잃지 않고 쉘 스크립트에서 사용자 입력 경로(절대 또는 상대)를 절대 경로로 변환할 수 있습니까? 예를 들어 /a/b/c는 현재 사용자 디렉토리이고 c는 심볼릭 링크 b입니다. /처럼:
input . => result /a/b/c
input ./d => result /a/b/c/d
input ../c => result /a/b/c
input /a/b/c => result /a/b/c
(readlink converts it to /a/b/s, but I need /a/b/c)
답변1
귀하의 질문을 올바르게 이해했다면 다음을 사용해야 realpath
합니다 -s
.
-s, --strip 스트립만 해당. 및 .. 구성 요소가 있지만 심볼릭 링크는 확인되지 않습니다.
$ realpath -s a/b/c
/tmp/a/b/c
$ readlink a/b/c
s