Друзья,
Я использую GNU bash в качестве оболочки в Linux:
$ bash --version
GNU bash, version 4.2.45(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$
Это очень странно действует, когда я устанавливаю переменную среды с путем к FS в качестве ее значения.
Скажем, я хочу добавить / opt / database / bin в начало PATH.
Я начинаю с ввода:
$ export PATH=/o
Затем я нажимаю клавишу табуляции на клавиатуре.
Но вместо завершения пути к / opt он удаляет часть PATH =! Вместо этого я получаю:
$ export /opt/
Это, конечно, для меня крайне бесполезно и очень обидно! Затем мне нужно вручную добавить имя переменной окружения, а это совсем не то, что я хочу делать!
Я хотел, чтобы он довел до этого:
$ export PATH=/opt/
Затем я могу завершить оставшуюся часть пути, используя минимальный набор текста и клавишу табуляции.
Есть ли способ заставить его не удалять переменную среды и действовать разумно, что поможет мне максимально продуктивно работать?
полное отключение Bash-Completion, вероятно, было излишним. Это очень полезная и продуктивная функция.
Сбой, такой как вы описываете, обычно вызван конкретными скриптами конфигурации завершения bash, которые лежат в /etc/bash_completion.d/
, установлен сторонним .deb
пакеты.
У меня была такая же проблема на Ubuntu, и в моем случае виновником оказался /etc/bash_completion.d/npm
скрипт, установленный npm
Пакет Debian (содержащий менеджер пакетов для Node.js).
Я только что переместил npm
сценарий из /etc/bash_completion.d/
- проблема решена, и полезная функциональность Bash Completion сохранена.
Попробуйте отключить Баш-Завершение.
Ваш PATH
Однако у меня завершение работает в системах, использующих Bash-Completion. Вы можете попробовать удалить и переустановить его, чтобы проверить, работает ли он. Я считаю, что предоставляемые им функции слишком полезны, чтобы отказаться от них.