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