【问题标题】:How to use `-` in the name of a Bash variable?如何在 Bash 变量的名称中使用`-`?
【发布时间】:2020-04-07 06:02:05
【问题描述】:

我存储了一个名为 jenkins-vm="Jenkins" 的变量,同时使用 echo $jenkins-vm 调用该变量 我面临错误。 在变量中使用“-”时如何转义?

【问题讨论】:

  • 你不能在 bash 中使用带有- 的变量
  • 你能说明你是如何初始化变量的吗?
  • 使用下划线代替,这是最接近破折号的东西。
  • 看看你的输出。当您尝试在 bash 中执行命令时:jenkins-vm="Jenkins",您将看到以下消息:jenkins-vm=Jenkins: command not found。正如已经说过的,最好的选择是使用 undersocre 代替。 jenkins_vm="Jenkins" 然后查看值:echo $jenkins_vm
  • 正如@DigvijayS 所述,参数名称中不允许使用连字符。原因是它可能与${foo-bar} 形式的参数扩展发生冲突,该扩展将检查是否设置了foo,如果没有设置,则返回字符串bar

标签: linux bash shell ubuntu variables


【解决方案1】:

Bash shell 中的变量名中不允许使用连字符或破折号-。仅支持小写/大写 ASCII 字母、_(下划线)和数字,并且第一个字符不能是数字。将变量名称中的连字符替换为下划线字符将起作用,并且变量名称仍然易于阅读。

【讨论】:

    猜你喜欢
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多