Могу ли я сохранить. И .. вне .. * расширение?

Я часто нахожу это раздражающим (или хуже), когда я печатаю

command .* 

В bash и команда применяется к родительскому каталогу и текущему каталогу. Есть ли опция оболочки или другая конфигурация, которую я могу настроить, чтобы исключить bash . И .. из расширения .* ?

В bash, в этом порядке:

 GLOBIGNORE=. shopt -u dotglob 

Когда установлен GLOBIGNORE,. И .. автоматически игнорируются, поэтому вам действительно не нужно устанавливать их в GLOBIGNORE, но если вам нечего игнорировать, вам нечего будет устанавливать.

Каждый раз, когда вы устанавливаете GLOBIGNORE на ненулевое значение, bash включает опцию dotglob , поэтому вам нужно будет отключить ее; В противном случае bash будет расширяться * чтобы включить файлы, начинающиеся с точки.

В незнакомой системе, где у меня слишком мало времени для проверки используемых параметров (например, GLOBIGNORE), я использую следующий шаблон с надежной проверкой:

 command .??* 
  • Быстро вводить и гарантированно исключать . И .. независимо от окружающей среды.
Давайте будем гением компьютера.