同じショップでもグロブ動作が異なりますか?

同じショップでもグロブ動作が異なりますか?

同じマシンで複数のシェル(bash)を開いていますが、そのうちの1つでグロブが停止しているようです。などが表示されます。 誤ってグロブオプションを設定したに違いないと思いましたが、 がls *表示されます。ls: *: No such file or directoryshopt | grep glob

dotglob         off
extglob         off
failglob        off
nocaseglob      off
nullglob        off

他のシェルと同じです。何が原因でしょうか?

答え1

現在のディレクトリが空の場合、*パターンは何も一致しません。この場合、がnullglobオフなので、*文字列はないls置換され、という名前のファイルをリストすることを要求しています"*"。パターンが何も一致しない場合に空の文字列に置換したい場合は、shopt -s nullglob

関連情報