How to show zsh function definition (like bash “type myfunc”)?

前端 未结 4 860
陌清茗
陌清茗 2020-12-12 20:13

How do I show the definition of a function in zsh? type foo doesn\'t give the definition.

In bash:

bash$ function foo() { echo hello; }

bash         


        
4条回答
  •  粉色の甜心
    2020-12-12 21:02

    The zsh idiom is whence, the -f flag prints function definitions:

    zsh$ whence -f foo
    foo () {
        echo hello
    }
    zsh$
    

    In zsh, type is defined as equivalent to whence -v, so you can continue to use type, but you'll need to use the -f argument:

    zsh$ type -f foo
    foo () {
        echo hello
    }
    zsh$
    

    And, finally, in zsh which is defined as equivalent to whence -c - print results in csh-like format, so which foo will yield the same results.

    man zshbuiltins for all of this.

提交回复
热议问题