我有一个具有多个功能的Bourne Shell脚本,并允许以以下方式调用:
my.sh <func_name> <param1> <param2>
在内部,func_name()
将用param1
和调用param2
。
我想创建一个help
仅列出所有可用函数的函数,即使没有参数也是如此。
问题:如何从脚本内部获取脚本中所有函数名称的列表?
我想避免不得不解析它并寻找功能模式。太容易出错。
更新:代码。希望我的help()
功能像main()
-添加到代码中的功能会自动添加到帮助中。
#!/bin/sh
# must work with "set -e"
foo ()
{
echo foo: -$1-$2-$3-
return 0
}
# only runs if there are parameters
# exits
main ()
{
local cmd="$1"
shift
local rc=0
$cmd "$@" || rc=$?
exit $rc
}
if [[ "$*" ]]
then
main "$@"
die "how did we get here?"
fi
您可以通过在自己的脚本上使用grep命令来获取脚本中的函数列表。为了使这种方法起作用,您将需要以某种方式构造函数,以便grep可以找到它们。这是一个示例:
$ cat my.sh
#!/bin/sh
function func1() # Short description
{
echo func1 parameters: $1 $2
}
function func2() # Short description
{
echo func2 parameters: $1 $2
}
function help() # Show a list of functions
{
grep "^function" $0
}
if [ "_$1" = "_" ]; then
help
else
"$@"
fi
这是一个交互式演示:
$ my.sh
function func1() # Short description
function func2() # Short description
function help() # Show a list of functions
$ my.sh help
function func1() # Short description
function func2() # Short description
function help() # Show a list of functions
$ my.sh func1 a b
func1 parameters: a b
$ my.sh func2 x y
func2 parameters: x y
如果您不想在帮助中显示“私人”功能,请省略“功能”部分:
my_private_function()
{
# Do something
}
问题内容: 有没有一种简单的方法可以进入python函数并获取参数名称列表? 例如: 谢谢 问题答案: 好吧,我们实际上不需要这里。 对于Python 2.5及更高版本,请使用代替和代替。
问题内容: 我正在尝试获取当前正在运行的Python脚本的名称。 我有一个名为的脚本,我想做这样的事情以获得脚本名称: 问题答案: 您可以使用获取当前文件的名称。在主模块中使用时,这是最初调用的脚本的名称。 如果要省略目录部分(可能存在),可以使用。
本文向大家介绍JavaScript 获取函数对象的名称,包括了JavaScript 获取函数对象的名称的使用技巧和注意事项,需要的朋友参考一下 示例 6 ES6: 关于MDN的说明。自2015年起,可以在nodejs和除IE之外的所有主要浏览器中使用。 5 ES5: 如果您有对该功能的引用,则可以执行以下操作:
本文向大家介绍Python如何获取函数名称?,包括了Python如何获取函数名称?的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何在Python中获取函数名称。获得任何函数的名称都是一件简单的事情。对于Python2和Python3,我们有两种不同的方式。让我们看看他们两个。 Python2 Python2中的每个函数都有一个名为func_name的属性,该属性为您提供当前函数
函数名称: 获取应用名称 函数功能: 根据应用包名获取应用名称 函数方法 name = app.getName(bid) 参数 类型 必填 说明 bid string 是 应用包名 返回值 类型 说明 name string 应用名称 函数用例 bid = app.getPackageName("积木编程") name = app.getName(bid) dialog(name,5000) 注
问题内容: 给定一个函数,可以得到它的名字吗?说: 有人告诉我runtime.FuncForPC会有所帮助,但我不明白如何使用它。 问题答案: 很抱歉回答我自己的问题,但我找到了解决方案: