나는 while 루프를 사용하여 용어에 대한 웹 링크를 말리려고합니다. "or"를 추가해야하므로 시간이 셀 수 있으므로 페이지가있는 경우 결코 오지 않는다. 단지 스크립트를 무기한 연기하지 않는다. 여기 내가 가지고있는 것은 작동하지 않습니다.While 루프 도움말 bash
count=0
while [ $count -lt 5 -o `curl -silent -m 2 10.10.10.10:7001 | grep myterm | wc -l` -lt 1 ]; do
echo "Waiting for it to start"
count=$(($count + 1))
sleep 5
done
echo "started"
내 컬의 일을 알고 페이지가 최대이며, 5 번을 통해 루프 경우 카운트 부분은 잘 작동 할 때 1을 반환, 그것은 while 루프를 종료하고 (내가 그것을 떠납니다하지 어떻게 시작 말한다 , 단지 예). 그러나 그것이 처음 실행될 때, 그것은 1보다 작지 않은 내 컬 = 1을보고, while 루프를 끝내야합니다. 내가 뭘 잘못하고 있는거야? ??
편집 : 내가 왜 이런 식으로하는지 설명하기 위해 누군가가 왜 나쁜 습관인지/대신 무엇을해야하는지 설명 할 수 있습니다.
jboss 서비스를 시작합니다. 이 서비스는 시작하는 데 3 분에서 6 분 정도 걸릴 수 있습니다. 그래서 나는 2 가지 일을해야합니다. 시작될 상태 페이지 (성공적으로 시작된시기를 알려주는 가장 좋은 방법)와 8 분 이상이 걸리면 확인을 중지하여 다음 서비스로 넘어갈 수 있는지 확인하십시오. 생각? 당신이 뭘 하려는지
당신은 많은 것을 "잘못"하고 있습니다 ("좋지 않은 습관"이라고 이해하십시오). –
시간 초과를 찾으십니까? http://stackoverflow.com/questions/687948/timeout-a-command-in-bash-without-unnecessary-delay – freitass
잠시 동안의 상태가 _ 또는 _ 조건임을 이해 했습니까? –