安装cargo
构建环境。我使用cargo install exa
来安装exa
(命令ls
的替代品)。可执行文件放在$HOME/.cargo/bin
中。我使用fish
shell set -gx PATH $PATH $HOME/.cargo/bin
,然后我可以在当前会话上使用命令exa
。
但是当我打开一个新的会话时,我不能执行exa
,除非再次执行set -gx ...
。
我在选项gx
中查找:
--global -g (Make variable scope global)
--export -x (Export variable to subprocess)
全球不是指每届会议吗?有人能帮帮我吗?
1条答案
按热度按时间yvfmudvl1#
全球不是指每届会议吗?
它不是。它是“全球”而不是“本地”。鱼的文档:
全局变量特定于当前fish会话,除非使用set -e显式请求,否则永远不会被擦除。
一般来说,您只需要将
set -gx
放入~/.config/fish/fish.fish。是菲什的配置文件。Fish也有“通用”变量,它们被持久地存储,但是它们与导出的交互很笨拙,所以我不推荐它。
对于特定的$PATH,fish提供了它自动添加的
fish_user_paths
变量,因此您可以运行一次,交互式的,鱼会照顾它。这是一个通用变量,但fish会在必要时将其添加到$PATH中(对于每个组件,它都会检查它是否已经存在)。不要 * 把它放到www.example.com中config.fish,否则它会在每次启动一条鱼时添加一个$HOME/.cargo/bin,因此它会使变量膨胀。
回顾一下:
set
语句放入config.fish