9

bashで大文字と小文字を区別するディレクトリリストに問題があります。例えば

   $ touch  nohupa nohuPb
   $ ls nohup*
   nohupa  nohuPb

ただし、nohuPbではなくnohupaのみがリストされることを期待しています。nohuPbには大文字のPがあるため、.bashrcセット内の*が機能する変数が大文字と小文字を区別しないかわかりません。

何か案が ?

4

2 に答える 2

9

それnocaseglobが原因です。

nocaseglob
設定されている場合、bashは、パス名の展開を実行するときに大文字と小文字を区別せずにファイル名を照合します(上記のパス名の展開を参照)。

テスト

$ touch fooab fooAb
$ ls
fooAb fooab
$ shopt -s nocaseglob
$ ls fooa*
fooAb fooab
$ shopt -u nocaseglob
$ ls fooa*
fooab
于 2012-01-12T00:53:18.353 に答える
2

シェルにnocaseglobセットがあるようです。shell built-inと呼ばれるを使用して設定を解除できますshopt。それへのオプションとそれに-sオプションを使用してください。enable-udisable

詳細については、こちらをご覧ください

于 2012-01-12T01:00:17.620 に答える