경로명이 존재하는지 확인하는 방법은 무엇입니까?

경로명이 존재하는지 확인하는 방법은 무엇입니까?

경로명이 존재하는지 테스트하는 방법은 무엇입니까?

이전에는 다음을 사용했습니다.

realpath -e /some/path

심볼릭 링크가 깨지지 않는 한 /some/path심볼릭 링크가 존재하지 않는다고 보고합니다.

[ -e /some/path ]

비슷한 결과가 나옵니다realpath

답변1

/some/path완전히 확인 가능한 콘텐츠 또는 손상된 심볼릭 링크로 존재하는지 확인하려면 다음을 수행하세요 .

if [ -e /some/path ] || [ -h /some/path ]; then
    echo '/some/path exists, possibly as a broken symbolic link'
fi

-h이 테스트는 심볼릭 링크가 끊어졌는지 여부에 관계없이 정확합니다. -L테스트와 동일한 테스트 도 있습니다 -h(역사적 이유).

-e주어진 경로 이름과 해석된 모든 기호 링크를 찾을 수 없으면 테스트가 실패합니다. 그렇기 때문에 경로 -h이름의 파일 이름 부분이 손상된 심볼릭 링크일 것으로 예상되는 경우 별도의 테스트에서 이를 사용해야 할 수도 있습니다.

관련 정보