В bash я реализовал функцию, которая превращается в любой каталог ниже текущего рабочего каталога, имея имя этого каталога в качестве параметра функции. Если существует несколько результатов с таким именем, появляется меню, позволяющее пользователю выбрать предполагаемый пункт назначения. Код bash:
function cdb() {
select dir in $(find -type d -name "$1" -not -path '*/\.*' -prune);
do
cd "${dir}" && break;
done
}
Пример этого в игре будет:
android@cybaryme:~/octos$ cdb av
1) ./frameworks/av
2) ./system/bt/bta/av
#? 1
android@cybaryme:~/octos/frameworks/av$
Я использую рыбу большую часть времени, и хотел бы иметь эту функцию там же. Но я не могу найти команду select или ее эквивалент. Возможно, думал, что "полный" сделает эту работу, но я запутался из-за того, для чего она нужна.
Может кто-нибудь пролить свет на то, что доступно? Или, может быть, пример Perl-скрипта, который может уменьшить недостающие пробелы?