IHSとJavaのバージョンを取得するためにgrepを使用することはできません。

IHSとJavaのバージョンを取得するためにgrepを使用することはできません。

スクリプトを実行して、IHSとJAVAのバージョンを取得します。

/ihs_home/HTTPServer/bin/versionInfo.sh

IBM HTTP Server製品のさまざまなバージョンのさまざまな出力を印刷します。

出力の抜粋例は次のとおりです。

.....
Installed Product
--------------------------------------------------------------------------------
Name            IBM SDK, Java Technology Edition, Version 8
Version         8.0.3.0
ID              JAVA8
Build Level     pxa6480sr3ifix-20160615_01
Build Date      06/15/16
Architecture    x86-64 (64 bit)

Installed Product
--------------------------------------------------------------------------------
Name                  IBM HTTP Server for WebSphere Application Server
Version               9.0.5.3
ID                    IHS
Build Level           f5032008.04
Build Date            2/26/20
Package               com.ibm.websphere.IHS.v90_9.0.5003.20200226_0941
Architecture          x86-64 (64 bit)
Installed Features    Core runtime

--------------------------------------------------------------------------------
.....

上記の出力では、JDKバージョンがWEBSPHERE(IHS)バージョンの前に表示されます。

残念ながら、このIBM製品のバージョンによって出力が異なる場合があり、WEBSPHERE(IHS)バージョンの後にJDKバージョンが表示されることがあります。

したがって、

/ihs_home/HTTPServer/bin/versionInfo.sh | grep -v Directory | grep -v reporter |  grep -i version
Output:
Version     8.0.3.0
Version     9.0.5.3

しかし、最初のバージョンがWEBSPHERE(IHS)かJDKであるかは不明です。

以下のバージョンエントリを含むバージョンより前の行がwebsphere(ihs)であることを確認する必要がありWebSphere、それ以外の場合はJDKバージョンです。

--------------------------------------------------------------------------------
Name                  IBM HTTP Server for WebSphere Application Server
Version               9.0.5.3

スクリプトを使用してWebsphereとJDKのバージョンを確認する方法versionInfo.sh

誰でもアドバイスできますか?

ベストアンサー1

あなたの質問は明確ではありませんが、入力にラベル/名前と値のペアがある場合は、まずこれらのペアの配列を作成するのが最善です(tag2val[]下)。その後、必要なものをテストおよび/または印刷できます。好きですが、好きな順番で好きです。たとえば、次のようになります。

$ cat file | awk -v OFS='\t' '
    { tag=val=$0; sub(/[[:space:]].*/,"",tag); sub(/[^[:space:]]*[[:space:]]+/,"",val); tag2val[tag]=val }
    tag == "Version" { print val, tag2val["Name"] }
' file
8.0.3.0 IBM SDK, Java Technology Edition, Version 8
9.0.5.3 IBM HTTP Server for WebSphere Application Server

$ cat file | awk -v OFS='\t' '
    { tag=val=$0; sub(/[[:space:]].*/,"",tag); sub(/[^[:space:]]*[[:space:]]+/,"",val); tag2val[tag]=val }
    tag == "Version" { print val, (tag2val["Name"] ~ /WebSphere/ ? "WebSphere" : "JDK") }
' file
8.0.3.0 JDK
9.0.5.3 WebSphere

上記のコードは、cat file質問に提供したものを入力として使用するのではなく、自分のシステムにないものを使用して実行されます。/ihs_home/HTTPServer/bin/versionInfo.sh

$ cat file
.....
Installed Product
--------------------------------------------------------------------------------
Name            IBM SDK, Java Technology Edition, Version 8
Version         8.0.3.0
ID              JAVA8
Build Level     pxa6480sr3ifix-20160615_01
Build Date      06/15/16
Architecture    x86-64 (64 bit)

Installed Product
--------------------------------------------------------------------------------
Name                  IBM HTTP Server for WebSphere Application Server
Version               9.0.5.3
ID                    IHS
Build Level           f5032008.04
Build Date            2/26/20
Package               com.ibm.websphere.IHS.v90_9.0.5003.20200226_0941
Architecture          x86-64 (64 bit)
Installed Features    Core runtime

--------------------------------------------------------------------------------
.....

おすすめ記事