当前位置:  开发笔记 > 编程语言 > 正文

如何在bash中导出变量

如何解决《如何在bash中导出变量》经验,为你挑选了2个好方法。

我需要从bash脚本中设置一个系统环境变量,该变量可以在当前范围之外使用.所以你通常会导出这样的环境变量:

export MY_VAR=/opt/my_var

但我需要环境变量在系统级别可用.这可能吗?



1> Douglas Leed..:

不是真的 - 一旦你在子流程中运行,你就不会影响你的父母.

有两种可能性:

1)获取脚本而不是运行它(参见source.):

    source {script}

2)让脚本输出导出命令,并评估:

    eval `bash {script}`
OR:
    eval "$(bash script.sh)"

编辑:修正了第二个选项是eval而不是source.哎呀.



2> Jeremy Cantr..:

这是我知道做你想做的事的唯一方法:

在foo.sh中,您有:

#!/bin/bash
echo MYVAR=abc123

当您想获得变量的值时,您必须执行以下操作:

$ eval "$(foo.sh)"  # assuming foo.sh is in your $PATH
$ echo $MYVAR #==> abc123

根据你想要做什么,以及你想怎么做,Douglas Leeder关于使用source的建议可以使用,但它将提供整个文件,函数和所有.使用eval,只会评估回显的内容.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有