使用bash解析.env文件

时间:2018-04-30 19:54:43

标签: linux bash shell environment-variables

我有.env文件,我正在尝试解析它的值。

我跑了

docker.withRegistry("https://${REGISTRY}", 'creds-id') { stage("RUN CONTAINER"){ Image = docker.image("${IMAGE}-${PROJECT}:${TAG}") try { c = Image.run("-v /mnt:/mnt") sh "docker logs -f ${c.id}" def out = sh script: "docker inspect ${c.id} --format='{{.State.ExitCode}}'", returnStdout: true sh "exit ${out}" } finally { c.stop() } } }

我得到了

cat .env | grep PORT=

如何获取特定密钥的值?

3 个答案:

答案 0 :(得分:3)

cat env | grep PORT= | cut -d '=' -f2

答案 1 :(得分:0)

使用eval解析分配行,以后的变量值可以用$代替:

eval "$(grep ^PORT= .env)"
echo $PORT

答案 2 :(得分:0)

假设你的输入如下:

$ cat test.txt
Port=2020
Email=me@myserver.com
Version=2.02

然后这样做:

awk -F'=' '/^Version/ { print $2}'  test.txt

输出

2.02