4
空の場合を除き、bash反復ファイルリスト
これは簡単だと思っていましたが、予想よりも複雑であることが判明しています。 ディレクトリ内の特定の種類のすべてのファイルを反復処理するため、次のように記述します。 #!/bin/bash for fname in *.zip ; do echo current file is ${fname} done これは、ディレクトリに一致するファイルが少なくとも1つある限り機能します。しかし、一致するファイルがない場合、私はこれを取得します: current file is *.zip 次に試しました: #!/bin/bash FILES=`ls *.zip` for fname in "${FILES}" ; do echo current file is ${fname} done ファイルがない場合、ループの本体は実行されませんが、lsからエラーが発生します。 ls: *.zip: No such file or directory 一致するファイルをまったく処理しないループを作成するにはどうすればよいですか?