4

В моем bash я получил такое поведение:

когда я печатаю:

cd ~/projects/p   <press tab>

bash расширяет ~ часть до полного имени моего домашнего каталога:

cd /home/kender/projects/p

Я помню, что это не происходило некоторое время назад. Это настраивается в Bash?

1 ответ1

3

Скорее всего, вы сейчас используете /etc/bash_completion - проверьте, загружен ли он вашим профилем или bashrc.

Он содержит функцию _expand которая заменяет тильду на путь «чтобы избежать проблем, когда $ cur, начинающийся с тильды, передается командам и заканчивается кавычками вместо расширенных» (из комментариев в функции).

Если вы все еще хотите сохранить тильду, вы можете взглянуть на функцию _filedir . Рядом с вершиной есть линия

_expand || return 0

Удалите его или отключите с префиксом # . Однако это уродливый хак, и вы можете столкнуться с проблемами, упомянутыми выше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .