続けてもいいですか。..。*拡張のうち?


10

タイプするときに、私はしばしばそれを煩わしい(またはもっと悪い)と感じます

command .*

bashでは、コマンドは親ディレクトリと現在のディレクトリに適用されます。シェルオプションやその他の構成を調整して、bashを除外し.たり..、拡張から除外したりでき.*ますか?

回答:


13

bashでは、この順序で:

GLOBIGNORE=.
shopt -u dotglob

GLOBIGNOREが設定されている場合、と..は自動的に無視されるため、実際にGLOBIGNOREに設定する必要はありませんが、無視するものが他にない場合は、何も設定する必要がありません。

GLOBIGNOREをnull以外の値に設定するたびに、bashはオプションdotglobをオンにするので、後でオフにする必要があります。それ以外の場合、bashは*ドットで始まるファイルを含むように展開されます。


よろしくお願いします。実際にはdotglobオンにしたほうがいいので、設定GLOBIGNOREは完璧に聞こえます。
David Z

GLOBIGNOREが設定されている場合、bashは無視しない...ではなく、foo/.foo/..GLOBIGNORE=.:*/.:*/..これをパス名でも使用できるようにすることもできます。
user123444555621 2014

3

使用中の設定(GLOBIGNOREなど)を確認する時間があまりない慣れていないシステムでは、次のフールプルーフパターンを使用します。

command .??*
  • クイック入力して除外することを保証する...環境によらず。

1
私はいつもこのアプローチが好きでしたが、1文字のファイルに一致しないことに注意してください.a
MestreLion
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.