2015-05-28

コマンド間違えると「コマンドではない。」って返してくれる江添プラギン

bashの場合、.bashrcに以下のように書けばよい。

command_not_found_handle()
{
    echo "コマンドではない。"
}

ちなみに、もともとのシェル関数をリネームする方法について興味深い方法があった。

bashrc - How do I teach bash in Ubuntu some curse words? - Ask Ubuntu

How do I rename a bash function? - Stack Overflow

これを元にUbuntuに提供されている便利な機能も維持すると、以下のように書ける。


alias_function() {
  eval "${1}() $(declare -f ${2} | sed 1d)"
}

alias_function orig_command_not_found_handle command_not_found_handle 

command_not_found_handle() {
  command=$1
  shift
  args=( "$@" )


  echo "コマンドではない。" 
  orig_command_not_found_handle "$command" "${args[@]}"
}

1 comment:

  1. # zsh
    command_not_found_handler() {
    echo "コマンドではない。"
    }

    ReplyDelete

You can use some HTML elements, such as <b>, <i>, <a>, also, some characters need to be entity referenced such as <, > and & Your comment may need to be confirmed by blog author. Your comment will be published under GFDL 1.3 or later license with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.