首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >shell脚本中的双冒号::是什么?

shell脚本中的双冒号::是什么?
EN

Stack Overflow用户
提问于 2017-06-15 11:34:19
回答 3查看 11.6K关注 0票数 26

shell脚本中的双冒号::是什么?就像下面这段脚本:

代码语言:javascript
复制
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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-06-15 12:01:19

::只是一个用于函数名称的命名约定。是一种编码风格,如snake_caseCamelCase

shell样式中的函数名称的约定通常是:

小写,用下划线分隔单词。用::分隔库。函数名后需要有圆括号。关键字函数是可选的,但必须在整个项目中一致使用。

你可以查看here

票数 28
EN

Stack Overflow用户

发布于 2017-06-15 11:39:44

这没什么,这些冒号显然是命令名的一部分。您可以通过创建并运行名称中包含:的命令来验证自己。默认情况下,shell会自动转义它们,这是完全合法的。

票数 3
EN

Stack Overflow用户

发布于 2017-10-06 23:31:32

尽管Bash似乎允许在函数名中使用冒号,但this behaviour is not standardized by POSIX

函数名称应由the portable set中的下划线、数字和字母组成。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44558080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档