나는 그것을 실행하려고 노력하고 있지만 운이 없습니다. 2개의 서비스가 있는지 확인하고 싶습니다. 존재하고 비활성화된 경우 패스가 반환되어야 합니다. 그렇지 않으면 실패합니다.
#!/bin/bash
# echo "Reference Number~Result~Risk Rating~Service~Service Status~Startup Mode~Other Information~Last Results time"
z=$[svcs -a | grep comsat]
y=$[svcs -a | grep comsat-udp]
if [ "$z" = "online"* ] && [ "$y" = "online"* ]
then
echo "SET-4555~Pass~High~~~~"
else
echo "SET-4555~Fail~High~~~$z~"
fi
답변1
코드에 몇 가지 오류가 있습니다.
#!/bin/bash
# echo "Reference Number~Result~Risk Rating~Service~Service Status~Startup Mode~Other Information~Last Results time"
z=$(svcs -a | grep comsat)
y=$(svcs -a | grep comsat-udp)
if [ "$z" == "XXX" ] && [ "$y" == "XXX" ]
then
echo "SET-4555~Pass~High~~~~"
else
echo "SET-4555~Fail~High~~~$z~"
fi
여기서 는 XXX
변수의 출력을 나타냅니다 z
.y