Возник вопрос о переопределении поведения команды по умолчанию not found в Ubuntu. Это здесь. Я попытался добавить следующее в ~/.bash_profile, /etc /bashrc и /etc /profile, но безуспешно:

function command_not_found_handle {
  echo "oops!"
}

Как я могу сделать то же самое в OS X?

1 ответ1

1

Это не какая-то особенность bash или OS X, как ясно указано в ссылочной статье. В качестве доказательства у вас также есть «Я удалил мой /etc/bash.bashrc». Другими словами, ничто не вызывает дескриптор в вашей системе и, следовательно, не влияет.

Вам нужно получить исходный код этого пакета и скомпилировать (или даже порт, но могут быть эквиваленты) его в OS X. Затем вы добавили бы if (ниже) к профилю bash по умолчанию в OS X, который должен находиться где-то в /так далее.

Часть /etc/bash.bashrc из Ubuntu

# if the command-not-found package is installed, use it
if [ -x /usr/lib/command-not-found -o -x /usr/share/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/bin/python /usr/lib/command-not-found -- $1
                   return $?
                elif [ -x /usr/share/command-not-found ]; then
           /usr/bin/python /usr/share/command-not-found -- $1
                   return $?
        else
           return 127
        fi
    }
fi

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