java -version為stderr輸出,獲取java版本需要重定向
現象
今天寫一個初始化伺服器指令碼,想獲取java版本,結果使用java -version一直無法使用sed與awk處理,經過實驗,發現
java -version輸出為stderr,無法處理。
測試
# 將命令輸出2 stderr與1 stdout分別輸出到指定檔案,檢視檔案內容,驗證java -version輸出為stderr [root@template yum.repos.d]# java -version 2>/tmp/java_version_stderr.out 1>/tmp/java_stdout.out [root@template yum.repos.d]# cat /tmp/java_version_stderr.out openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode) [root@template yum.repos.d]# cat /tmp/java_stdout.out #可以看到java -version輸出為stderr,所以我們如果想繼續處理java -version輸出,需要重定向到stdout
解決
java_ver=`java -version 2>&1 | sed '1!d'|sed 's/"//g'|awk '{print $NF}'|awk -F'.' '{print $1$2}'`
參考
https://blog.csdn.net/10km/article/details/98481428
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31439444/viewspace-2695593/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決stderr重定向到stdout造成的輸出亂序問題
- Shell輸入\輸出重定向
- [轉]重定向輸出
- 輸出重定向 管道
- python 輸出重定向Python
- Linux c程式中獲取shell指令碼輸出(如獲取system命令輸出)LinuxC程式指令碼
- kettle‘獲取檔名’輸出
- Java 輸入輸出流Java
- 新版本Jenkins(Version>2.357)相容低版本JAVA專案部署JenkinsJava
- Java讀取本地檔案內容並輸出Java
- 從Java金鑰庫讀取輸出私鑰Java
- java,javac,java -version的區別Java
- Java —— 標準輸入輸出Java
- Java基礎輸入輸出Java
- java後臺獲取cookieJavaCookie
- Java socket 獲取gps定位Java
- Java 獲取Word字數Java
- 2022 Java 生態報告出爐:Java 11 接替 Java 8 成為最受歡迎版本Java
- [JAVA] xml遍歷輸出JavaXML
- Java獲取使用者IPJava
- Java獲取當前星期幾Java
- linux中的輸入與輸出管理(重定向輸入,輸出,管道符)Linux
- 【idea建立專案之JDK版本問題】 version of Java 17 is not supported by the project SDK ‘1.8‘. Either choose a lower versionIdeaJDKJavaProject
- JAVA筆記(12)——輸入和輸出Java筆記
- Java------簡單的輸入/輸出Java
- Project facet Java version 1.8 is not supportedProjectJava
- 碎片化學習Java(二十六)Java死迴圈重複獲取使用者輸入案例Java
- Java for迴圈倒序輸出Java
- Linux 輸出重定向 2>&1 , 1>&2Linux
- 重定向Kubernetes pod中的tcpdump輸出TCP
- 重學java中的輸入輸出流Java
- 直播app原始碼,Java的輸入輸出APP原始碼Java
- Java獲取Spring的各種物件JavaSpring物件
- java獲取本機的ip地址Java
- Java獲取Object中Value的方法JavaObject
- Java19將成為非常了不起的Java版本?Java
- e語言 獲取重定向的location地址
- 獲取華為HCIE,需要具體哪些技術