исключите конкретный файл из bash_completion

Вы определили PATH=$PATH:$PGMODELER_ROOT?

Если так, попытайтесь добавить:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$PGMODELER_ROOT"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/Qt5.1.0/5.1.0/gcc_64/lib

кому: /etc/profile. Если у Вас есть Установленный Qt5.

3
12.08.2014, 20:42
2 ответа

Вы также можете использовать параметр -X с compgen :

_grcat() {
  local word
  COMPREPLY=()
  if [ 1 -eq "$COMP_CWORD" ]; then
    pushd /etc/grcat &>/dev/null || return 1
    word="${COMP_WORDS[COMP_CWORD]}"
    local filterpat='README'
    COMPREPLY=($(compgen -f -X "$filterpat" -- "$word"))
    popd &>/dev/null
  fi
} 
complete -F _grcat grcat

compgen принимает большинство тех же параметров, что и complete , за исключением -p и -r .

compgen также генерирует результат, записывает совпадения в стандартный вывод. complete сохраняет правила только для будущего использования.

4
27.01.2020, 21:14

Из здесь я вижу, что переменная, которую вы ищете, является FIGNORE. Вы можете сделать что-то вроде,

export FIGNORE=$FIGNORE:/etc/grcat/README

Кажется, вы также можете использовать команду Complete, чтобы выполнить то, что вы пытаетесь сделать. Я вижу информацию относительно использования команды Complete из here и here.

Вы можете попробовать изменить команду complete, которая есть в вашем скрипте, как, например,

complete -f -X '/etc/grcat/README' grcat

From man page of complete,

-X filterpat filterpat - это шаблон, используемый для расширения имен файлов. Он применяется к списку возможных завершений, генерируемому параметром предыдущие опции и аргументы, и каждый
Фильтрпат по завершению соответствия удаляется из списка. Вперед! в filterpat отрицает шаблон; в этом случае любое завершение не Соответствующий фильтр-пат удален.

2
27.01.2020, 21:14

Теги

Похожие вопросы