Bash ワイルドカード構成

Bash ワイルドカード構成

cygwinで戻ってみると、Ubuntu 10.4でbash(バージョン4.1.5)を使用するのは非常に混乱しています。私は2つの可能性のうちの1つが好きです。

  • 他のすべてを無視して.一致..させます。
  • 明示的に指定しない限り、ドットで始まるファイル名を無視します。

現在の動作は奇妙です。

cd; ls .*

ドットで始まるファイル名を明示的に要求しましたが、「ls:can access .*:No such file or Directory」と表示されます。

cd; ls .gnupg/*.gpg

また、ドットで始まらないファイルを要求すると文句を言います(ただし、ドットで始まるディレクトリ名だけです)。

出力shopt -p

(削除済み)

解決策

この問題が発生していない他のユーザーの値に値を変更しましたが、shopt役に立ちませんでした。それから私を2つに分け、次のようなものを.bashrc含む問題のある行を見つけるというアイデアを思いつきましたGLOBIGNORE='.[!/.]*:..[!/]*:*/.[!/.]*:*/..[!/]*:

私はこれをこれに置き換えて、GLOBIGNORE='.:..'それは私が望むものとほぼ動作します。

ベストアンサー1

残念ながら、私は自分の質問に答えなければなりません。それはGLOBIGNORE。マニュアルページから:

パス名拡張時に無視されるファイル名のセットを定義するコロンで区切られたパターンのリスト。パス名拡張パターンに一致するファイル名が GLOBIGNORE のパターンの 1 つとも一致する場合は、一致リストから削除されます。

おすすめ記事