2
현재 수업 중 Linux 장치에서 쉘 스크립팅을 공부하고 있으며 지금까지 내 기술을 능가하는 추가 작업을 수행하고 있습니다.symlink가 빈 폴더를 가리키는 지 확인하는 방법
빈 폴더를 가리키는 심볼릭 링크를 찾는 셸 스크립트를 작성해야했습니다. 이제 처음 두 부분은 쉽습니다 - -type l
및 -xtype d
과 같은 테스트와 함께 find
명령을 사용하는 방법을 알고 있습니다. 폴더 자체가 비어 있는지 확인하면 문제가 발생합니다. 선생님 께 물어 봤지만, 지시에 따라 실제로 사용할 수없는 xargs
또는 exec
인수에 대한 암시적인 힌트 만있었습니다. 지금까지 가장 좋은 방법은 find의 결과를 for 루프에 던져서 각 루프의 링크에서 얻은 경로를 테스트하는 것이지만 작동하지 않는 것입니다. 지금까지 내 코드는 다음과 같습니다
for var in $`find $1/* -type l -xtype d -print`
do
if [ $`readlink -f $var` -empty ]
then
echo $`readlink -f $var`
fi
done
어떤 도움도 대단히 감사하겠습니다!
두 번째 부분의 의미는 모르겠지만 그 설명서를 읽으겠습니다. 첫 번째 부분에서는 선택한 디렉토리 트리에서 모든 심볼릭 링크를 찾아야하지만'-type d -empty'를 사용하여 심볼릭 링크가 빈 폴더를 가리키는 지 확인할 수 있습니까? – DeadBrain
심볼릭 링크에 관한 전체적인 동작은 https://www.gnu.org/software/findutils/manual/html_mono/find.html#Symbolic-Links에 나와 있습니다. 그러나 나는 그것이 무엇을하는지 완전히 모르겠다는 것을 인정할 것입니다. –