我正在一个名为library.sh的.sh文件中编写函数集合。
我希望在我的库中定义每个函数来创建一个伪名称空间,如下所示:
library::functionA ()
{
...
}
library::functionB()
{
...
}
然后在主脚本中调用库函数如下:
. lib/library.sh
...
library::functionA
当我运行主脚本时,收到一条错误消息:
library::functionA command not found
重新运行项目中有一个示例:
https://github.com/rerun/rerun/blob/master/etc/bash_completion.sh
(参见list:member)但该方法在本地调用,只有一个冒号。
Google的shell样式链接中也提到了这个想法:https://google-styleguide.googlecode.com/svn/trunk/shell.xml
在函数名下。用::分隔库。括号是 在函数名称后面需要。
我想要[模块名称] :: [函数名称]。
我错过了什么?
谢谢你的帮助,
答案 0 :(得分:0)
我的问题的答案是:在library.sh之上排版-f。甜,这很酷!谢谢!导出所有功能。
如果我现在在我的库中调用本地方法,我需要添加" library ::"。是否有一个bash内置指令来说明函数是否在本地省略了标签" library ::" ?