파일이 존재하고 -L과의 심볼릭 링크인지 확인할 수 있습니다.
for file in *; do
if [[ -L "$file" ]]; then echo "$file is a symlink"; else echo "$file is not a symlink"; fi
done
그리고 -d가있는 디렉토리 인 경우 :
for file in *; do
if [[ -d "$file" ]]; then echo "$file is a directory"; else echo "$file is a regular file"; fi
done
그러나 디렉토리에 대한 링크 만 테스트하려면 어떻게해야합니까?
테스트 폴더에서 모든 사례를 시뮬레이션했습니다.
/tmp/test# ls
a b c/ d@ e@ f@
/tmp/test# file *
a: ASCII text
b: ASCII text
c: directory
d: symbolic link to `c'
e: symbolic link to `a'
f: broken symbolic link to `nofile'
shopt -s dotglob