Как я могу написать функцию для обработки любой команды, соответствующей регулярному выражению? - PullRequest
0 голосов
/ 05 апреля 2020

Если у меня есть регулярное выражение ^[A-X]+\.+[0-4]+$.

Как я могу вызывать функцию, определенную в моем .profile, всякий раз, когда я печатаю соответствующую строку в командной строке?

1 Ответ

0 голосов
/ 06 апреля 2020

Вы должны поместить это в ~/.bashrc, а не ~/.profile, в операционных системах, которые не связываются с поведением при запуске bash. Тем не менее, функция command_not_found_handle является механизмом для реализации этого вида логики c:

command_not_found_handle() {
  if [[ $1 =~ ^[A-X]+\.+[0-4]+$ ]]; then
    call_your_function "$@"
  else
    printf "%s: command not found\n" "$1" >&2
    return 127  # standard command-not-found return value
  fi
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...