ファイルの反復中にフォルダにファイルがあることを確認します。

ファイルの反復中にフォルダにファイルがあることを確認します。

このスクリプトがあります。

  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

関連情報