Tôi đã trích xuất tập lệnh từ gói gỡ lỗi AdoptOpenJDK ban đầu và phiên bản đã sửa đổi mà tôi sử dụng như sau:
wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.1%2B12/OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz
mkdir -p /usr/lib/jvm
sudo tar -xvvf OpenJDK17U-jdk_x64_linux_hotspot_17.0.1_12.tar.gz -C /usr/lib/jvm/
sudo ./java-alternative install /usr/lib/jvm/jdk-17.0.1+12
sudo ./java-alternative set /usr/lib/jvm/jdk-17.0.1+12
â¦
sudo ./java-alternative remove /usr/lib/jvm/jdk-17.0.1+12
Mã nguồn của kịch bản:
#!/bin/sh
đặt -eu
ưu tiên=2222
#jdk_base_dir=/usr/lib/jvm/adoptopenjdk-11-hotspot-AMD64
#jdk_base_dir=/usr/lib/jvm/jdk-17.0.1+12
jdk_base_dir="$2"
nếu [ ! -d "$jdk_base_dir" ]
sau đó
echo "Thư mục java không hợp lệ. Chọn một trong số: ";
ls -1d /usr/lib/jvm/*
lối ra
fi
tools="jaotc jar jarsigner java javac javadoc javap jcmd jconsole jdb jdeprscan jdeps jfr jhsdb jimage jinfo jjs jlink jmap jmod jps jrunscript jshell jstack jstat jstatd keytool pack200 rmic rmid rmiregistry serialver unpack200 jexec jspawnhelper"
trường hợp "$1" trong
Tải về)
cho công cụ trong $tools ; làm
cho tool_path trong "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; làm
nếu [ ! -e "$tool_path" ]; sau đó
tiếp tục
fi
nô lệ=""
tool_man_path="$jdk_base_dir/man/man1/$tool.1"
nếu [ -e "$tool_man_path" ]; sau đó
nô lệ="--nô lệ /usr/share/man/man1/$tool.1 $tool.1 $tool_man_path"
fi
cập nhật thay thế \
--Tải về \
"/usr/bin/$tool" \
"$công cụ" \
"$tool_path" \
"$ưu tiên" \
$nô lệ
xong
xong
;;
gỡ bỏ)
cho công cụ trong $tools ; làm
cho tool_path trong "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; làm
nếu [ ! -e "$tool_path" ]; sau đó
tiếp tục
fi
cập nhật thay thế \
--gỡ bỏ \
"$công cụ" \
"$tool_path"
xong
xong
;;
bộ)
cho công cụ trong $tools ; làm
cho tool_path trong "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; làm
nếu [ ! -e "$tool_path" ]; sau đó
tiếp tục
fi
cập nhật thay thế \
--bộ \
"$công cụ" \
"$tool_path"
xong
xong
;;
thoát hiểm