gpt4 book ai didi

java - 根据Java版本运行不同的Bash命令

转载 作者:行者123 更新时间:2023-12-01 16:41:23 25 4
gpt4 key购买 nike

我正在尝试为将在 Ubuntu 和 Fedora 上运行的 Java 项目开发 bash 构建脚本。 Ubuntu 使用 gcj 编译器,而 Fedora 使用 IcedTea。

两者都以稍微不同的方式报告错误和警告,我想忽略这些警告(我知道,这通常不是一个好主意,但有些警告简直是愚蠢的)。

对于 gcj,我想运行:

javac *.java 2>&1 | grep -A 4 "error:"

但是对于 IcedTea,我想运行:

javac *.java 2>&1 | grep -A 4 "error:\|errors\|.java:"

我对 bash 还很陌生,那么我该如何编写一个 if 语句来根据 javac 版本运行一个与另一个?

最佳答案

假设您的 java 和 javac 二进制文件匹配,并且icedtea 是特例。

#!/bin/bash

ERROR="error:"

java -version 2>&1 | grep -i icedtea > /dev/null
if [ $? -eq 0 ]; then
ERROR="error:\|errors\|.java:"
fi

javac *.java 2>&1 | grep -A 4 $ERROR

在我的系统上,icedtea 和 sun 对于“javac -version”具有相同的输出,但对于“java -version”则不然。

关于java - 根据Java版本运行不同的Bash命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2154652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com