심볼릭 링크가 끊어졌거나 존재하지 않는지 확인하세요.

심볼릭 링크가 끊어졌거나 존재하지 않는지 확인하세요.

if파일이 유효한 기호 링크인지 확인하는 명령문을 작성해 보십시오 (즉, 기호 링크도 존재함을 의미함).

나는 시도했다:

[ -h "$1" -a ! -e "$1" ]

...하지만 작동하지 않습니다. 파일이 유효한 심볼릭 링크가 아니거나 단순히 존재하지 않는 경우 코드를 실행하고 싶습니다.

답변1

의 이름이 $1유효한 기호 링크 이면 -e테스트는 참입니다 . 깨진 기호 링크인 경우 -e테스트가 실패합니다. 이름이 $1전혀 존재하지 않는 경우에도 테스트가 실패합니다.

따라서 $1심볼릭 링크가 깨졌는지 테스트하려면,또는전혀 존재하지 않으면 사용하기에 충분할 것입니다.

if [ ! -e "$1" ]; then ...; fi

테스트는 없이 수행하는 것이 가장 좋습니다.더 이상 사용되지 않음 -a~처럼

if [ ! -e "$1" ] && [ -h "$1" ]; then ...; fi

$1기존 심볼릭 링크가 끊어졌는지 여부 를 테스트합니다 .

유효한 심볼릭 링크를 테스트하고 싶으십니까?

if [ -e "$1" ] && [ -h "$1" ]; then ...; fi

관련 정보