_
Bash에는 밑줄로 시작하는 일부 파일 이름 과 밑줄로 시작하지 않는 다른 파일 이름이 포함된 디렉터리가 있습니다 .
내 스크립트에서 폴더에 .로 끝나지 않는 항목이 있는지 확인하고 싶습니다 _
.
if [[ -f $dir/[!_]* ]]
then echo "There are unmarked files."
else echo "All files marked."
fi
그러나 로 시작하거나 시작하지 않는 파일이 포함된 폴더에서 실행하면 _
명령문이 if
의도한 것과 반대되는 효과를 냅니다. 없이 파일을 명확하게 표시하는 폴더의 항목을 나열 _
하지만 출력은 계속 표시됩니다.All files marked.
내가 무엇을 놓치고 있나요?
답변1
if find -not -name '_*' -exec false {} +
then
echo 'all files marked'
else
echo 'unmarked file found'
fi