Если вы `source` другой файл, `trap INT`, определенный ранее, не будет работать?

Если я размещу это наверху сценария Bash, Control+C не будет работать.

exit-function() {
  echo "Hey hey!"
}    
trap exit-function INT

Но если я поставлю это через несколько строк, то Control + C будет в ловушке.

ОБНОВЛЕНИЕ:

Если он размещен после source "$HOME/.rvm/scripts/rvm" тогда это работает.

Так что если вы поставите другой файл, trap INT определенный ранее не будет работать?

1 ответ

Решение

Один из сценариев, созданный сценарием rvm, устанавливает trap который заменяет ловушку, которую вы установили ранее. Установив один после скрипта rvm, вы заменяете тот, который он устанавливает.

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