我有一个~/.config/fish/config.fish包含以下几行的内容:
set PATH $PATH (go env GOPATH)/bin
set -x GOPATH (go env GOPATH)
Run Code Online (Sandbox Code Playgroud)
如果我只是go env GOPATH在命令行中运行,我会得到默认位置 ( ~/go):
> go env GOPATH
/Users/kurt/go
Run Code Online (Sandbox Code Playgroud)
但是,$GOPATH环境变量未定义:
> echo $GOPATH
Run Code Online (Sandbox Code Playgroud)
为什么$GOPATH环境变量没有设置?
set -x只会影响您当前的会话。一旦您注销该会话,导出就会消失。
set --export --global将在所有正在运行的 Fish 会话中导出您的环境,但是这是短暂的,并且在您注销后不会持续存在。
set --export --universal将在所有正在运行的 Fish 会话中导出您的环境,并且是持久的。
-g or --global
Causes the specified shell variable to be given a global scope.
Global variables don't disappear and are available to all functions
running in the same shell. They can even be modified.
-U or --universal
Causes the specified shell variable to be given a universal scope.
If this option is supplied, the variable will be shared between all the current
user's fish instances on the current computer, and will be preserved across
restarts of the shell
Run Code Online (Sandbox Code Playgroud)
如果您正在运行当前版本的fish,您可以使用内置的fish_add_path (go env GOPATH)/bin一次就可以了,您不必将其放在conf 文件中。
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |