Мой каталог ~/Documents
является символической ссылкой:
nathan@nathan-desktop:~$ stat Documents
File: Documents -> /mnt/nathan/extended/Documents
Если я хочу cd
войти в каталог, я могу набрать:
c kbd> d kbd> пробел kbd> D kbd> o kbd> c kbd> tab kbd>
... и завершение табуляции добавит uments
в конец cd Doc
, как и ожидалось. Тем не менее, он не добавляет конечный /
, даже если символическая ссылка указывает на каталог.
Есть ли способ заставить Баша сделать это?
Включите mark-symlinked-directories
опция для READLINE. Существует немного способов сделать это:
Настройте свой readline, вставив команды .inputrc
файл:
Создайте или отредактируйте ~/.inputrc
и добавьте эти строки:
$include /etc/inputrc
set mark-symlinked-directories on
Войдите в систему/Выйдите из системы или нажмите ctrl+x и ctrl+r для перезагрузки настроек.
Настройте свой readline, вставив команды .bashrc
файл (или в .profile
файл):
Править ~/.bashrc
и добавьте эту строку:
bind 'set mark-symlinked-directories on'
Войдите в систему/Выйдите из системы или получите файл:
source ~/.bashrc
Настройте readline для всех пользователей путем создания a .sh
файл в каталог /etc/profile.d
:
Создайте файл /etc/profile.d/mark-symlinked-directories.sh
который должен быть похожим:
#!/bin/sh
bind 'set mark-symlinked-directories on'
Исполняемые полномочия в этот файл не нужны.
Войти в систему/Выйти из системы.Именно.
Дальнейшее чтение:
Один простой способ, которым я нашел, удваивает вкладку для завершения:
c d располагают D с интервалами o c вкладка вкладки
Первая вкладка добавит uments
, второй добавит /
и третье распечатает список содержавших каталогов.