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

bash-$path和$path

  •  4
  • mk12  · 技术社区  · 15 年前

    使用环境变量(如path)作为$path或$path有什么区别?

    3 回复  |  直到 11 年前
        1
  •  13
  •   Adam Rosenfield    15 年前

    在大多数情况下没有区别。唯一重要的时候是您是否希望在扩展后包含尾随文本。例如,假设 PATH 包含字符串 FOO (实际上不是有效的路径,但这是一个示例),并且您希望形成字符串 FOOBAR . 如果你这样做了

    $PATHBAR
    

    您将得到名为 PATHBAR 可能不是你想要的。如果你这样做了

    $PATH BAR
    

    你可以在 BAR 也不是你想要的。解决方案是使用大括号:

    ${PATH}BAR
    

    这给了你 福巴 .

        2
  •  4
  •   Bombe    15 年前

    PATH 是环境变量的名称, $PATH ${PATH} 是访问它们的方法。形式 $路径 用于允许类似 echo ${PATH}b 如果使用 $PATHb . 也, bash 允许大量参数替换材料, man page 会很乐意告诉你更多。

        3
  •  0
  •   dmckee --- ex-moderator kitten    15 年前

    在你的例子中没有区别,但是-以情况为例:你有两个变量:

    $FOO = "YA"
    $YADA = "bar"
    

    然后 ${$FOODA} 什么也不给你 ${${FOO}DA} 会给你“酒吧”