LINUX.ORG.RU

История изменений

Исправление mtk, (текущая версия) :

pre-execute-hook

Насчет bash не знаю, но в zsh есть хуки: precmd, preexec. Их используют преимущественно для обновления prompt/title, например: oh-my-zsh.

Можно сделать как-то так:

#!/bin/zsh
autoload -U add-zsh-hook

function ssh-copy-id-validate() {
  # здесь проверка валидности $@ для ssh-copy-id
}

# остальные валидаторы
...

function preexec_validate() {
  case "$1" in
    ssh-copy-id)
      ssh-copy-id-validate "$@"
      ;;
    # здесь остальные валидаторы
}

add-zsh-hook preexec preexec_validate
Осталось понять, как прерывать выполнение невалидных команд.

Исходная версия mtk, :

pre-execute-hook

Насчет bash не знаю, но в zsh есть хуки: precmd, preexec. Их используют преимущественно для обновления prompt/title, например: oh-my-zsh.

Можно сделать как-то так:

#!/bin/zsh
autoload -U add-zsh-hook

function ssh-copy-id-validate() {
  # здесь проверка валидности $@ для ssh-copy-id
}

# остальные валидаторы
...

function preexec_validate() {
  case "$1" in
    ssh-copy-id)
      ssh-copy-id-validate
      ;;
    # здесь остальные валидаторы
}

add-zsh-hook preexec preexec_validate
Осталось понять, как прерывать выполнение невалидных команд.