以前、TeX用に作ったMakefileに以下のような項目があります。
clean:
-rm *~ *.{log,aux,dvi}
これをDebian上で使ったら、ファイルが展開できずエラーになってしまいました。
シェルはBashです。以前は展開できていたのですが、いつ頃から変わってしまったのでしょうか。
ちなみに、Mac OS X 10.9上のターミナルで実行したところ、これまで通り展開されて無事削除できました。
Debianのbashに何かの設定があるのかな?
ls *.{log,aux,dvi}
とすると問題なく展開できるのでbashが原因じゃなさそうです。makeに違いがあるんんだろうか。DebianもMac OS Xも
make --version
とすると、どちらも「3.81」と表示されて同じバージョンです。何が原因なのか分かりません。
ちょっと書き換えて
-rm *~ *.log *.aux *.dvi
とすると問題なく実行されます。ということは { } の中を展開しないのが原因らしい。
でもなぜ展開されないのか、今のところ分からないままです。
コメント