SunO 및 Linux의 awk/nawk 대안

SunO 및 Linux의 awk/nawk 대안

기본적으로 실행 중인 컴퓨터에서 Java 버전을 확인하고 버전 번호에 따라 작업을 수행하는 스크립트가 있습니다.

내 문제는 SunO와 Linux 시스템에서 동일한 명령을 사용하고 싶다는 것입니다.

내가 이것에 가장 가까운 것은 ...

SunO:

java -version 2>&1 | nawk -F '"' '/version/ {print $2}'

이것은 예상되는 출력을 제공합니다1.7.0_09

그리고...

리눅스:

java -version2>&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 PATHPOSIX 호환 명령 경로를 반환하는 명령을 사용합니다.

관련 정보