Bash как предложение установки в tcsh

В оболочке удара при помещении некоторой команды, которая не установлена в системе, она бросает ошибку и также дает Вам предложение установки пакета. Например,

$ iostat

Command 'iostat' not found, but can be installed with:

sudo apt install sysstat

Мой любимый является tcsh, но он не дает предложения установки пакета, в то время как некоторая команда не найдена. Как я могу получить предложение установки пакета (как удар) в tcsh?

0
задан 15 May 2018 в 06:22

1 ответ

Волшебство работает из-за command_not_found пакет, которые обеспечивают a command_not_found_handle функция и для удара и для zsh.

Это работает в ударе из-за этого отрывка в /etc/bash.bashrc

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
        function command_not_found_handle {
                # check because c-n-f could've been removed in the meantime
                if [ -x /usr/lib/command-not-found ]; then
                   /usr/lib/command-not-found -- "$1"
                   return $?
                elif [ -x /usr/share/command-not-found/command-not-found ]; then
                   /usr/share/command-not-found/command-not-found -- "$1"
                   return $?
                else
                   printf "%s: command not found\n" "$1" >&2
                   return 127
                fi
        }
fi

Существует также файл /etc/zsh_command_not_found то, что можно получить для получения того поведения для zsh - здесь, функция вызвана command_not_found_handler.

От быстрого поиска не кажется, что tcsh включают такую функциональность для определения a command_not_found_handle. Так может быть имя, отличается, в этом случае просто необходимо преобразовать отрывок в tcsh и включать его в Ваш ~/.tcshrc, еще Вы не можете!

0
ответ дан 29 October 2019 в 08:02

Другие вопросы по тегам:

Похожие вопросы: