代码之家  ›  专栏  ›  技术社区  ›  OregonTrail

这个bash参数扩展语法是什么意思?

  •  0
  • OregonTrail  · 技术社区  · 6 年前

    golang GOPATH documentation 它指示您在bash路径中添加以下内容:

    ${GOPATH//://bin:}/bin
    

    什么是 //://bin: 意思是这里?

    $GOPATH 计算值与 ${GOPATH//://bin:}

    我的第一个猜测是,它以某种方式扩展到 $GOPATH路径 有一个 /bin 子目录,但实际情况并非如此。我在$GOPATH中添加了一些子目录 /垃圾箱 dir,上面的表达式不包括它们。

    我在我的手册页里找了一下,没有看到任何线索。

    1 回复  |  直到 6 年前
        1
  •  0
  •   choroba    6 年前

    man bash 在参数扩展下表示:

    ${parameter/pattern/string}

    模式替换。该模式被扩展以生成与 路径名扩展。参数被展开,模式与 它的值替换为字符串。如果模式以/开头,则模式的所有匹配项都将替换为字符串。通常只替换第一个匹配项。

    例如

    $ GOPATH=a:b:c
    $ echo ${GOPATH//://bin:}
    a/bin:b/bin:c