【问题标题】:Cannot export an API key to .zshrc including special characters无法将包含特殊字符的 API 密钥导出到 .zshrc
【发布时间】:2023-03-06 20:37:01
【问题描述】:

我想在我的 .zshrc 文件中存储一个 API 密钥,以便我可以通过 Node.js 中的 process.env 访问它。

现在,这将起作用:

export MY_THIRD_PARTY_API_KEY="h2hj",

而这不会:

export MY_THIRD_PARTY_API_KEY="h2.hj".

这是我在尝试更新终端时看到的错误:source ~/.zshrc /Users/username/.zshrc:export:103: not valid in this context: h2.hj

有没有办法允许这样的特殊字符?提前感谢您的任何建议或帮助!

【问题讨论】:

  • 您看到了什么错误?在我看来,这应该可行。无论如何,它当然可以在 bash 中使用。
  • 您好,感谢您的阅读。我将在主帖中包含错误,但这里是:source ~/.zshrc /Users/username/.zshrc:export:103: not valid in this context: h2.hj
  • 下载了 zsh 并将导出语句放在一个空的 zshrc 中。它运行愉快并设置值。那是zshrc的第103行吗?你的 zshrc 中还有其他与该变量交互的东西吗?
  • 钥匙在那条线上,我只是用 h2.hj 试过(它不是我的实际钥匙:p),它仍然没有工作,同样的错误。我还有其他可以正常工作的键,它真的很讨厌点。我现在通过创建一个 config.js 文件解决了这个问题,该文件包含我设置为在 git 中忽略的密钥。虽然这并不理想,但我仍然很想解决这个问题!
  • 该值是直接从字符串插入还是来自命令:export ASDF=$(do shtuff)=周围有空格吗?

标签: node.js api zsh


【解决方案1】:

Shell 对空间非常挑剔。您可能有不应该的空格:

export MY_THIRD_PARTY_API_KEY = "h2.hj"

或者您正在使用不带引号且包含空格的值:

export MY_THIRD_PARTY_API_KEY=$(echo "hello world")

在第一个示例中,您可以通过删除 = 周围的空格来解决问题,而在第二个示例中,可以使用引号来解决:

export MY_THIRD_PARTY_API_KEY="$(echo 'hello world')"

【讨论】:

    猜你喜欢
    • 2021-04-19
    • 2021-06-28
    • 1970-01-01
    • 2020-12-25
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多