У меня есть несколько каталогов:
20130118-Cars_Directory
20130118-Bikes_Directory
20130218-Planes_Directory
20130228-Scooters_Directory
Есть ли способ изменить каталоги способом ввода частичного совпадения в середине команды.
В идеале, что-нибудь в стиле cd *Bikes*<TAB>
, а у черточки есть автозаполнение остальных?
На самом деле, по совпадению, оказывается что cd *Bikes*<RETURN>
работы без любых изменений в системе.
я просто немного ошеломлен, что это не потребовало кавычек приблизительно *Bikes*
.
Можно сделать это путем создания псевдонима для CD и определения завершения удара как желание. См. , руководство .
Завершения Холостяка Здесь является пошаговым руководством. Я буду использовать "scd" для нашей новой команды, но можно использовать "CD" также.
1) Редактирование .bashrc файл
gedit ~/.bashrc
2) Создание псевдонима
Вставка это в финале ".bashrc" файла:
# Alias for making a "Super cd"
alias scd="cd"
_scd_completion() {
mapfile -t COMPREPLY < <(ls -d */ | grep "${COMP_WORDS[COMP_CWORD]}")
}
complete -F _scd_completion scd
Сохраняют и закрываются.
3) Откройте новый терминал
Или работайте: source ~/.bashrc
4), Как использовать
Просто, называют команду сопровождаемой частью названия каталога, Вы хотите пойти.
scd Bikes<TAB>
Сделанный.Приятного отдыха!
Попытайтесь использовать инструмент, названный z, он позволяет то, в чем Вы нуждаетесь, плюс он создает глобальную базу данных Вашего CD, взвесил частотой и позволяет Вам переходить к часто посещаемому месту немедленно.
При посещении каталога Bikes можно позже ввести
z Bikes
и Вы перейдете там