# Dotenv 机密文件 CLI 允许与空间和时间网络进行交互式通信。 **Published by:** [Breezeandmoon](https://paragraph.com/@breezeandmoon/) **Published on:** 2024-01-13 **URL:** https://paragraph.com/@breezeandmoon/dotenv-cli ## Content 处理本地机密时,最佳实践是将机密保存在环境变量文件中,而不是将这些机密硬编码到脚本中。常见的约定是使用“dotenv”文件,因为它受许多编程语言支持并且经常出现在文件模板中。dotenv 文件的默认值是(这是整个文件名,而不是扩展名),但大多数 dotenv 库都支持任何名称。.gitignore.env 👍 在 dotenv 文件中保密的做法是可选的,但强烈鼓励这样做。这允许您在没有秘密的情况下共享脚本,使这些脚本更加可移植和更安全。 文档中环境变量的假设 在使用Space and Time 文档时,您会发现许多示例,其中大多数使用sxtcli和文件的组合来包含机密。为了保持一致性,这些文档将假设以下环境变量可用:.env Dotenv 示例 Dotenv 文件通常是结构化的,以便可以通过 shell 命令执行它们,从而将它们作为环境变量加载。示例文件可能如下所示:.env Shell API_URL="https://api.example.com" USERID="Jane_Doe" USER_PUBLIC_KEY="mNczmcOoMqHQzaW0/lXuCRa5wYYPcQms92q0G+VzKtY=" USER_PRIVATE_KEY="7zoZMnvJv+spt5lUjF0Isuyxi9jlwJCCWCglJmSVghc=" USER_PASSWORD="Aok3pnEPK" 🚧 等号之前或之后没有空格。某些操作系统中的 Shell 命令可以将空格注册为有效字符并将其包含在变量中。 要进行测试,请尝试通过首先加载 .env 文件来验证空间和时间(使用有效凭据),然后使用:sxtcli authenticate Shell Shell echo "Load .env file" . ./.env echo "Login to SxT" sxtcli authenticate login --url=$API_URL --userId=$USERID --publicKey=$USER_PUBLIC_KEY --privateKey=$USER_PRIVATE_KEY echo "Save Access Token for later use" ACCESS_TOKEN="eyJ0eXBlIjoiYWNjZXNzIiwia2lkIjoiZTUxNDVkYmQtZGNmYi00ZjI..." 或者,更简洁地说: Shell echo "Load .env file and get ACCESS_TOKEN" . ./.env ACCESS_TOKEN=$( sxtcli authenticate login --url=$API_URL --userId=$USERID --publicKey=$USER_PUBLIC_KEY --privateKey=$USER_PRIVATE_KEY | awk 'NR==2{ print $2 }' ) 您可能遇到的其他环境变量 在遍历文档时,您可能还会遇到示例中使用的其他环境变量: ## Publication Information - [Breezeandmoon](https://paragraph.com/@breezeandmoon/): Publication homepage - [All Posts](https://paragraph.com/@breezeandmoon/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@breezeandmoon): Subscribe to updates - [Twitter](https://twitter.com/OBM5D942LYocssN): Follow on Twitter