Как сделать завершение табуляции добавить косую черту для символьных ссылок каталога?
Мой ~/Documents
каталог является символической ссылкой:
nathan@nathan-desktop:~$ stat Documents
File: Documents -> /mnt/nathan/extended/Documents
Если я захочу cd
в каталог я могу набрать:
c d space D o c tab
... и завершится вкладка uments
до конца cd Doc
как и ожидалось. Тем не менее, он не добавляет завершающий /
даже если символическая ссылка указывает на каталог.
Есть ли способ заставить Баш сделать это?
1 ответ
Включить 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 для всех пользователей, создав
.sh
файл в каталог/etc/profile.d
:Создать файл
/etc/profile.d/mark-symlinked-directories.sh
который должен выглядеть так:#!/bin/sh bind 'set mark-symlinked-directories on'
Права доступа к этому файлу не требуются.
Регистрация / Вход-аут. Вот и все.
Дальнейшее чтение:
- Раздел READLINE на странице руководства Bash
- Источник первых двух способов
- Источник идеи для третьего пути
Один простой способ, который я нашел, это двойная вкладка для завершения:
c d space D o c tab tab
Первая вкладка будет добавлена uments
второй добавит /
а третий напечатает список содержащихся каталогов.