shell脚本中的双冒号::是什么?就像下面这段脚本:
function guess_built_binary_path {
local hyperkube_path=$(kube::util::find-binary "hyperkube")
if [[ -z "${hyperkube_path}" ]]; then
return
fi
echo -n "$(dirname "${hyperkube_path}")"
}我在这里找到的:
https://github.com/kubernetes/kubernetes/blob/master/hack/local-up-cluster.sh
发布于 2017-06-15 12:01:19
::只是一个用于函数名称的命名约定。是一种编码风格,如snake_case或CamelCase
shell样式中的函数名称的约定通常是:
小写,用下划线分隔单词。用::分隔库。函数名后需要有圆括号。关键字函数是可选的,但必须在整个项目中一致使用。
你可以查看here。
发布于 2017-06-15 11:39:44
这没什么,这些冒号显然是命令名的一部分。您可以通过创建并运行名称中包含:的命令来验证自己。默认情况下,shell会自动转义它们,这是完全合法的。
发布于 2017-10-06 23:31:32
尽管Bash似乎允许在函数名中使用冒号,但this behaviour is not standardized by POSIX。
函数名称应由the portable set中的下划线、数字和字母组成。
https://stackoverflow.com/questions/44558080
复制相似问题