我有一个脚本,主要检查运行它的机器上的 Java 版本,并根据版本号执行任何操作。
我的问题是我想在 SunOs 和 Linux 机器上使用相同的命令。
我最接近这个的是......
SunOs:
java -版本 2>&1 | nawk -F '"' '/version/ {print $2}'
这给出了预期输出1.7.0_09
和...
Linux:
java -版本 2>&1 | awk -F '"' '/version/ {print $2}'
这给出了预期输出1.8.0_05
我想知道在不同操作系统上使用相同的命令是否可以获得相同的结果
答案1
这是一种便携式方式:
java -version 2>&1 | PATH=`getconf PATH` awk -F '"' '/version/ {print $2}'
与尝试根据 Unix 实现猜测正确位置的通常建议不同,它使用getconf PATH
返回 POSIX 兼容命令路径的命令。