如何在鱼壳中设置环境variables

有人可以告诉我在鱼壳中设置一堆环境variables的正确方法是什么?

在我的.config / fish / config.fish文件中,我有一个函数来设置我的环境variables

function setTESTENV set -x BROKER_IP '10.14.16.216' set -x USERNAME 'foo' set -x USERPASS 'bar' end 

当我从命令提示符setTESTENV并在命令行中执行一个环境,我没有看到这些信息。

你声明的variables保存在函数内的本地作用域中。

使用:

 set -g -x 

这里“ g ”是全球性的。

使用通用variables

如果必须在当前计算机上的所有当前用户鱼实例之间共享该variables,并在重新启动 shell时保留该variables,则必须使用-U--universal

 set -Ux FOO bar 

-g--global中使用set不会在shell实例之间持久地设置variables

鱼的环境variables

我想补充一点,虽然@ JosEduSol的答案是不正确的,并有助于解决OP问题, -g只是将范围设置为全局,而-x则导致指定的环境variables被导出到subprocess。

上述失败的原因是因为@cfpete在一个函数中设置了envvariables,而默认的作用域将是该函数的本地variables。

Interesting Posts