そう、
for f in *.c; do echo "That $f is the best C code I have ever seen"; done
cファイルがない場合は、喜んで印刷します
That *.c is the best C code I have ever seen
これは望ましくありません。cファイルがない場合にループを完全にスキップしたいという事実を修正/表現するエレガントな方法はありますか?
Bash では、shopt -s nullglob
どのファイルとも一致しない glob が ID ではなく空の展開を返すようになります。
POSIXの場合、おそらく次のようなものです
case *.c in '*.c' ) echo no match ;; esac
名前が文字通り*.c
.
試す:
for f in `ls -1 *.c`; do
echo That $f is the best C code I have ever seen
done