shell - 在 fish shell 中,如何设置 环境变量

  显示原文与译文双语对照的内容
122 2

谁能告诉我什么是正确的方法来设置一组 环境变量 在鱼 shell?

我的. config/fish/config.fish 文件中有一个函数可以像这样设置我的环境变量


function setTESTENV


 set -x BROKER_IP '10.14.16.216'


 set -x USERNAME 'foo'


 set -x USERPASS 'bar'


end 



当从命令提示符 setTESTENV 键入并在 命令行 中执行 env 时,我不会看到这些信息。

时间: 原作者:

72 5

声明的变量保存在函数内部的局部范围内。

使用:

 
set -g -x



 

" g"用于全局。

原作者:
101 4
使用通用变量

如果要在当前计算机的所有当前用户实例之间共享变量,并且在的restarts restarts保留必须使用 -U 或者 --universal:


set -Ux FOO bar



使用 set-g 或者 --global 不会在 shell 实例之间永久地设置变量

原作者:
57 1

环境变量

在 @JosEduSol's 回答中,我可以将操作的范围设置为全局,而只是将指定的环境变量导出到子进程。

上面失败的原因是,@cfpete 在函数内设置,默认作用域将是该函数的本地。

原作者:
139 1

另一个选项是运行:


export (cat env_file.txt |xargs -L 1)



其中,env_file.txt 包含格式为 VAR=VALUE的行

这样可以使变量以其他外壳程序和工具支持的格式保持

原作者:
...