【问题标题】:Bash: how to unset an env variable with a hyphen (-)?Bash:如何使用连字符 (-) 取消设置环境变量?
【发布时间】:2018-11-16 15:47:26
【问题描述】:

我的环境中有一些具有无效标识符的变量。当我尝试取消设置它们时,我收到以下错误:

$ unset A-B
bash: unset: `A-B': not a valid identifier

如何取消设置?

【问题讨论】:

标签: bash environment-variables


【解决方案1】:

我猜这不是最好的解决方案,但它在我的情况下有效。

我尝试了主教env -u "foo-bar=baz" 的示例,然后尝试了env -u "foo-bar",但这种方法仍然在变量中留下了一些垃圾,例如_=foo-bar。所以我用了unset _ 然后就没了。

【讨论】:

  • $_ 是一个 special bash variable 包含“上一个简单命令的最后一个参数”;所以没有必要unset它;它完全按预期工作。但是env -u 没有回答这个问题,因为它需要启动一个子进程。问题是关于在当前 bash 进程中取消设置环境变量。
猜你喜欢
  • 1970-01-01
  • 2016-12-18
  • 2015-03-08
  • 2021-08-22
  • 2015-11-16
  • 2014-02-24
  • 2017-12-22
  • 2014-02-26
  • 2011-03-05
相关资源
最近更新 更多