簡體   English   中英

如何在Shell腳本中將uniq命令的輸出分配給變量

[英]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避免grepuniq

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM