ksh if 문 구문

ksh if 문 구문

if뭔가를 바꿀 때마다 또 다른 것이 잘못된 것 같다는 말이 있습니다 . 문제가 보이나요?

if [[ $(ps -ef | grep "Process" | grep -v "grep" | awk '{print $2}') = '' ]]; then
        echo "bien"
fi

알겠어요launcher.sh[74]: 11927676^J15335522: syntax error

답변1

"Process"가 고정 문자열인 경우 다음을 시도해 보세요.

ps -ef | awk '/[p]rocess/ {print $2}'

프로세스 ID를 가져옵니다.

누락된 프로세스를 확인하는 경우( ... = '' )

if ps -ef | grep -q [P]rocess
then 
   echo Process present
else
   echo Process absent
fi

다음을 볼 수도 있습니다 pgrep(1)(예 man pgrep: ).

답변2

KSH의 비교에는 두 개의 등호가 필요합니다.==

if [[ $(ps -ef | grep "Process" | grep -v "grep" | awk '{print $2}') == '' ]]; then
        echo "bien"
fi

관련 정보