1

В 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-скрипта, который может уменьшить недостающие пробелы?

1 ответ1

1

У рыбы нет команды select . Также я не могу найти никаких признаков того, что кто-то просил его добавить. Вы можете найти пример того, как сделать эквивалент в паре функций, которые поставляются вместе с fish, а также в моей функции mcd, которая, вероятно, будет добавлена в основной пакет. Обратите внимание, что моя реализация позволяет выбирать по номеру или букве, что является довольно полезным удобством. Не стесняйтесь, чтобы открыть запрос на улучшение .

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