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

标签 shell fish

有人可以告诉我在 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 时,我看不到此信息。

最佳答案

使用Universal Variables .

如果变量必须在当前计算机上的所有当前用户 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/

相关文章:

python - 在 python 中使用 shell=True 清理子进程的输入

shell脚本中的Mysql数组(Linux)

fish shell : Conditional execution based on $status?

c - 如何使用系统调用dup?

linux - 关于 linux 中的 awk shell 和 pipe

android - 无需 root 即可永久增加 Android 中的文件描述符 ulimit

vim Vundle 的 PluginInstall 与 Archlinux 中的fish 冲突

bash - 将 bash 函数转换为 fish 函数

if-statement - 在 fish shell 中,如何在 if 语句中放置两个条件?

fish shell 提示未正确显示符号