繁体   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