Игнорировать запись пути с помощью bash tab-complete - PullRequest
8 голосов
/ 09 февраля 2010

У меня есть две команды, foo и foo-bar, где foo - символическая ссылка на foo-bar. Я хочу набрать f + TAB (представьте, что это только две команды на пути, начинающиеся с f), и одна из них должна быть завершена (имеется в виду полное имя и the пробел после).

Что в итоге происходит, так это то, что он завершается просто foo (без пробела) из-за foo-bar. Очевидно, что это не так много, чтобы просто нажать пробел, но это прерывает мой поток.

Некоторые дополнительные сведения:

  • foo и foo-bar находятся в одном каталоге.
  • Удаление / перемещение foo не вариант (я скрыл некоторые детали).

Есть ли способ игнорировать определенную запись пути?

Ответы [ 2 ]

11 голосов
/ 09 февраля 2010

Вы используете FIGNORE, хотя он обладает некоторыми странными свойствами.

FIGNORE требует правильного суффикса. Поэтому, чтобы игнорировать foo-bar, любой из них будет работать:

FIGNORE=bar
FIGNORE=-bar
FIGNORE=r
FIGNORE=oo-bar

Импортируется , а не , чтобы попробовать FIGNORE=foo-bar, поскольку это неправильный суффикс.

1 голос
/ 09 февраля 2010

Попробуйте:

FIGNORE=foo-bar
...