我之前使用 Bash 作为 macOS 上的默认 shell,但我决定切换到 Fish。
我正在尝试在 Java 的不同版本之间切换。在 bash 中,可以使用~/.bash_profile
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
我已经在鱼上设置了等价物~/.config/fish/fish_variables
set -x JAVA_HOME `/usr/libexec/java_home -v 1.7`
不幸的是,Java 版本没有改变。如何使用设置环境变量(特别是特定版本的 Java)~/.config/fish/fish_variables
?
更新:
根据常问问题,应使用 ,而不是 。我还创建了~/.config/fish/fish_variables
,而不是。~/.config/fish/config.fish
~/.config/fish/fish.config
~/.config/fish/config.fish
答案1
答案2
function javaenv
if test (count $argv) -eq 0
/usr/libexec/java_home -V
else
switch $argv[1]
case 'ls'
/usr/libexec/java_home -V
case 'set'
set -xU JAVA_HOME (/usr/libexec/java_home -v $argv[2])
end
end
end
可以将上述函数放在 ~/.config/fish/functions 中,并使用它来获取 java_home 内容
javaenv
并使用以下代码设置 java_home 的内容
javaenv set 1.8
想法和内容取自这里