有人可以告诉我在fish shell中设置一堆环境变量的正确方法是什么?
在我的.config/fish/config.fish文件中,我有一个设置我的环境变量的函数
function setTESTENV
set -x BROKER_IP '10.14.16.216'
set -x USERNAME 'foo'
set -x USERPASS 'bar'
end
Run Code Online (Sandbox Code Playgroud)
当我从命令提示符键入setTESTENV并env在命令行中执行a 时,我看不到这些信息.
Pao*_*tti 113
如果变量必须在当前计算机上的所有当前用户fish实例之间共享,并且在重新启动 shell时保留,则必须使用-U或--universal:
set -Ux FOO bar
Run Code Online (Sandbox Code Playgroud)
使用set带有-g或--global不持久设置壳实例之间的变量
Jos*_*Sol 60
您声明的变量保留在函数内的局部范围内.
使用:
set -g -x
Run Code Online (Sandbox Code Playgroud)
这里" g"适用于全球.
另一个选择是运行:
export (cat env_file.txt |xargs -L 1)
Run Code Online (Sandbox Code Playgroud)
其中env_file.txt包含以下格式的行 VAR=VALUE
这样做的好处是将变量保持为其他Shell和工具支持的格式