【发布时间】:2021-01-25 20:33:27
【问题描述】:
我有一个 bash 函数,可以从 .env 文件中检索环境变量。
在我的.env 文件中,我有以下变量
USER=luis
IMAGE_NAME=application
IMAGE_VERSION=latest
IMAGE_TAG=${USER}/${IMAGE_NAME}:${IMAGE_VERSION}
在我的 bash 脚本中,我有我的 env 函数
function dotenv::get() {
variable=$(grep ^"${1}"= "$(pwd)/.env" | xargs)
IFS="=" read -ra variable <<< "${variable}"
echo "${variable[1]}"
}
当我执行dotenv::get IMAGE_TAG.
预期结果:luis/application:latest
当前结果:${USER}/${IMAGE_NAME}:${IMAGE_VERSION}
我知道我的功能不完整,但我不确定实现目标的下一步是什么。
【问题讨论】:
-
| xargsxargs在那里做什么? -
:在函数名中合法吗?我会感到惊讶。 -
@KamilCuk 可能是从多行获取输入到单行。
-
@BenjaminW。我正在关注 Google Shell 样式指南google.github.io/styleguide/shellguide.html#s7.1-function-names
-
啊,确实。在 Bash 中似乎没问题,在 POSIX 中允许。
标签: bash environment-variables