有没有办法在 Bash 中访问文档字符串?如何在 Bash 中的函数定义中包含文档字符串?
更具体地说,如何向以下函数添加和访问文档字符串?
funky() {
echo "Violent and funky!"
}
有没有办法在 Bash 中访问文档字符串?如何在 Bash 中的函数定义中包含文档字符串?
更具体地说,如何向以下函数添加和访问文档字符串?
funky() {
echo "Violent and funky!"
}
虽然次优,但以下方法在紧要关头可以正常工作:
将打印文档如下:
请注意,第一个参数必须与函数名匹配,这使得该方法容易出错。从长远来看,为了避免错误,可以在主体内定义函数的文档,如下所示:
可以使用临时 DEBUG 陷阱来访问文档字符串,如下所示:
这样
将打印:
您可能希望在数组中捕获文档以构建菜单。例如:
将打印:
其中不存在的 fun1 和未记录的 fun2 是例外,通常应在扫描期间避免,但包含在上面只是为了演示调用时会发生什么。
最后,验证每个函数是否可以正常工作:
并将打印:
如果您的意思是“Bash 相当于 Python 的文档字符串”,恐怕我不得不让您失望,因为没有这样的东西。
但是..我必须说,实现“文档字符串”功能的等效功能将成为一项非常有趣的作业,以便学习 Bash 的可编程完成功能以及如何覆盖内置命令,例如
help
显示此类“文档字符串”或正常的 builtinhelp
的输出。