파일을 반복하는 동안 폴더에 파일이 있는지 확인하십시오.

파일을 반복하는 동안 폴더에 파일이 있는지 확인하십시오.

이 스크립트가 있습니다.

  local_dir="/some/dir1/"

  cd $local_dir
  for i in *.*
  do

    # do something ........
    # [...........]

    rm $i
  done

폴더가 비어 있으면 오류가 발생합니다.

*: No such file or directory
rm: cannot remove '*': No such file or directory

이 문제를 어떻게 해결할 수 있나요?

답변1

원본 코드를 사용하려면 다음과 같이 if 조건을 사용하여 파일이 존재하는지 확인할 수 있습니다.

local_dir="/some/dir1/"

cd $local_dir
for i in *.*
do
  if [[ -f "$i" ]]
  then
   # do something ........
   # [...........]

   rm $i
  fi
done

답변2

ls를 사용해 보세요

for i in $(ls)
do
       # Do something
rm $i
done

관련 정보