使用/usr/libexec/java_home切换java home在MacOS升级到Big Sur后停止工作

使用/usr/libexec/java_home切换java home在MacOS升级到Big Sur后停止工作,java,java-home,Java,Java Home,我有一个简单的脚本可以在不同的JDK版本之间切换。然而,在MacOs升级到Big Sur后,它停止工作。不确定是否与操作系统升级有关 脚本setjavahome.sh: export JAVA_HOME=`/usr/libexec/java_home -v $1` export PATH=$JAVA_HOME/bin:$PATH 通常,我打电话 。setjavahome.sh 1.8 它将切换到java主页。但现在它什么也做不了 如果我使用/usr/libexec/java_home-V,它仍

我有一个简单的脚本可以在不同的JDK版本之间切换。然而,在MacOs升级到Big Sur后,它停止工作。不确定是否与操作系统升级有关

脚本
setjavahome.sh

export JAVA_HOME=`/usr/libexec/java_home -v $1`
export PATH=$JAVA_HOME/bin:$PATH
通常,我打电话
。setjavahome.sh 1.8

它将切换到java主页。但现在它什么也做不了

如果我使用
/usr/libexec/java_home-V
,它仍然能够列出所有版本

只需
/usr/libexec/java_home-v
停止工作


不知道为什么它突然停止工作。

这不是这个问题的答案,但至少这里有一个解决方法:

PROGRAM=“{if(\$1~\”^$1.*\”)打印\$NF}”
导出JAVA_HOME=`/usr/libexec/JAVA_HOME-v2>&1|awk“$PROGRAM”`
您知道该工具吗?它确实做到了这一点,并且在Mac和brew上运行得非常好。