Shell : 通过函数名获取函数体
Shell : get function's body by it's name
我使用zsh
(有时bash
)。问题是我有多个 shell
脚本,我不知道如何编写一个小函数来按名称打印函数代码(突出显示;我使用 pygmentize -g
)。这是我想要得到的一个小例子:
$ getfunc "somefunc"
# from my_little_hacks.sh
somefunc () {
# function code
}
在 shell
或 awk
中不使用 nl
和 cat
在 [=31= 可用的最佳时间使用 nl
和 cat
是一种干净有效的方法吗? ] 口译员?
函数主体中不可能有单词 function
,除非那里有嵌套的单词。它也几乎不可能在引号内有合法不成对的 {
或 }
。
declare -f funcname
...将在 bash 和 zsh 中检索函数 funcname
的代码。因此:
getfunc() {
declare -f "$@" | pygmentize -l bash
}
我使用zsh
(有时bash
)。问题是我有多个 shell
脚本,我不知道如何编写一个小函数来按名称打印函数代码(突出显示;我使用 pygmentize -g
)。这是我想要得到的一个小例子:
$ getfunc "somefunc"
# from my_little_hacks.sh
somefunc () {
# function code
}
在 shell
或 awk
中不使用 nl
和 cat
在 [=31= 可用的最佳时间使用 nl
和 cat
是一种干净有效的方法吗? ] 口译员?
函数主体中不可能有单词 function
,除非那里有嵌套的单词。它也几乎不可能在引号内有合法不成对的 {
或 }
。
declare -f funcname
...将在 bash 和 zsh 中检索函数 funcname
的代码。因此:
getfunc() {
declare -f "$@" | pygmentize -l bash
}