有人可以告诉我在 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
当我从命令提示符 setTESTENV
键入并在命令行中执行 env
时,我看不到此信息。
最佳答案
如果变量必须在当前计算机上的所有当前用户 Fish 实例之间共享,并且在 shell 重新启动时保留,您可以使用 -U
或--通用
。例如:
set -Ux FOO bar
将 set
与 -g
或 --global
一起使用不会在 shell 实例之间永久设置变量。
注意:
不要附加到 config.fish
文件中的通用变量,因为每个新的 shell 实例这些变量都会变得更长。相反,只需在命令行运行一次 set -Ux
即可。
从 Fish 3.0 开始,通用变量将存储在文件 ~/.config/fish/fish_variables
中。在之前的版本中,它是 ~/.config/fish/fishd.MACHINE_ID
,其中 MACHINE_ID 通常是 MAC 地址。
关于shell - 如何在fish shell中设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632846/