【发布时间】: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