[英]How to assign the output of uniq command to a variable in shell script
我正在編寫腳本來檢查WAS服務器的狀態,以確認服務器是否已啟動或啟動失敗。 該服務器有2個JVM。 因此,要檢查兩個JVM是否已啟動,我正在使用uniq命令。
可以說JVM1失敗了,而JVM2已啟動,所以下面的命令
sh /home/wasprofile/`hostname`/bin/serverStatus.sh -all > /tmp/ServerState
grep "Application Server" /tmp/ServerState|awk '{print $7}'|uniq
將輸出顯示為:
FAILED
STARTED
所以現在我應該如何在運行時將此輸出分配給兩個不同的變量? 我的意思是這樣的:
a=FAILED
b=STARTED
對此,我們將給予任何幫助。
您可以將read
與進程替換一起使用:
read a b < <(awk '/Application Server/ && !seen[$7]++{printf "%s ", $7}' /tmp/ServerState)
PS:您可以同時使用awk避免grep
和uniq
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.