ฉันแยกสคริปต์จากแพ็คเกจ AdoptOpenJDK deb ดั้งเดิมและเวอร์ชันแก้ไขที่ฉันใช้เช่น:
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-ทางเลือก ติดตั้ง /usr/lib/jvm/jdk-17.0.1+12
sudo ./java-ชุดทางเลือก /usr/lib/jvm/jdk-17.0.1+12
¦
sudo ./java-ทางเลือก ลบ /usr/lib/jvm/jdk-17.0.1+12
รหัสแหล่งที่มาของสคริปต์:
#!/bin/sh
ตั้ง -eu
ลำดับความสำคัญ=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"
ถ้า [ ! -d "$jdk_base_dir" ]
แล้ว
echo "ไดเร็กทอรี java ไม่ถูกต้อง เลือกหนึ่งใน: ";
ls -1d /usr/lib/jvm/*
ทางออก
ไฟ
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"
กรณี "$1" ใน
ติดตั้ง)
สำหรับเครื่องมือใน $tools ; ทำ
สำหรับ tool_path ใน "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; ทำ
ถ้า [ ! -e "$tool_path" ]; แล้ว
ดำเนินต่อ
ไฟ
ทาส = "
tool_man_path="$jdk_base_dir/man/man1/$tool.1"
ถ้า [ -e "$tool_man_path" ]; แล้ว
ทาส="--ทาส /usr/share/man/man1/$tool.1 $tool.1 $tool_man_path"
ไฟ
ทางเลือกในการปรับปรุง \
--ติดตั้ง \
"/usr/bin/$เครื่องมือ" \
"$เครื่องมือ" \
"$tool_path" \
"ลำดับความสำคัญ $" \
$ทาส
เสร็จแล้ว
เสร็จแล้ว
;;
ลบ)
สำหรับเครื่องมือใน $tools ; ทำ
สำหรับ tool_path ใน "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; ทำ
ถ้า [ ! -e "$tool_path" ]; แล้ว
ดำเนินต่อ
ไฟ
ทางเลือกในการปรับปรุง \
--ลบ \
"$เครื่องมือ" \
"$tool_path"
เสร็จแล้ว
เสร็จแล้ว
;;
ชุด)
สำหรับเครื่องมือใน $tools ; ทำ
สำหรับ tool_path ใน "$jdk_base_dir/bin/$tool" "$jdk_base_dir/lib/$tool" ; ทำ
ถ้า [ ! -e "$tool_path" ]; แล้ว
ดำเนินต่อ
ไฟ
ทางเลือกในการปรับปรุง \
--ชุด \
"$เครื่องมือ" \
"$tool_path"
เสร็จแล้ว
เสร็จแล้ว
;;
เอสแซค