我正在寻找一种方法来扫描我的Red Hat6服务器上的所有rt.jar,然后找出我在每个目录中使用的java版本。我有时会注意到,如果目录没有列出文件夹中的版本,我就会丢失。我假设我可以使用‘sudo rt.jar / -name rt.jar’来查找所有的rt.jar,但是我怎么才能检查这些rt.jar文件的每个java版本呢?
Example :
[admin:/ryan/vacation-linux/bin]
(admin)$ sudo find / -name rt.jar
/ryan/jre1.8.0_171_linux/lib/rt.jar
/bob/jre1.6.0_171_linux/lib/rt.jar
/charles/java/lib/rt.jar
谢谢你,莱恩
发布于 2018-08-25 02:42:59
结合使用find
和awk
生成java -version
命令以运行:
sudo find /Library/Java/JavaVirtualMachines -name rt.jar | awk -v OFS='/' -F '/' '{$(NF)="" ; printf("echo %s && %s../bin/java -version && echo && echo\n", $0, $0)}' | sh
对我来说,这是打印的:
/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home/jre/lib/
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre/lib/
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
https://stackoverflow.com/questions/52008014
复制相似问题