我想根据结果进行多次检查,以便采取不同的行动。
在这种情况下出现问题:
ssh 10.1.1.1 'sapi=`ps -ef | grep weblogic | grep sapi | grep -v grep | wc -l`;if [ ! $sapi ]; then printf "unknown";elif [ "$sapi" == "0" ]; then printf "inactive";else printf "active";fi'
这个想法是当sapi字符串转回来时:
0 - result to be inactive
1 or other kind of number - active
if is turn back nothing - to give unknown status
答案 0 :(得分:1)
您可以使用case
。以下是我的一些旧帖子中的示例。
#! /bin/bash
case "$(ps -ef | awk '/[w]eblogic/ && /sapi/ {a++} END {print a+0}')" in
0) echo "0 found"
;;
1) echo "1 found"
;;
*) echo "more than 1 found"
;;
esac
我也做了一些简化你的测试
PS你不应该使用旧的和过时的背景,使用括号var=$(awk 'some code')