Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
jpg拡張子またはに一致するすべてのファイルをループしたいtxt。私が使う:
jpg
txt
for file in myDir/*.{jpg,txt} do echo "$file" done
問題:ディレクトリに jpg ファイルがまったく含まれていない場合、ループは output で 1 回繰り返されますmyDir/*.jpg。任意のファイルに置き換えられると思い*ました(ファイルが存在しない場合は展開できません)。不要な反復を回避するにはどうすればよいですか?
myDir/*.jpg
*
これを使用して、不要な反復を回避します。
shopt -s nullglob
からman bash:
man bash
nullglob: 設定されている場合、bash は、どのファイルとも一致しないパターン (上記のパス名展開を参照) を、それ自体ではなく、null 文字列に展開することを許可します。
nullglob
参照:help shoptおよびshopt
help shopt
shopt