2014-06-18 4 views
0

저는 매 15 초마다 PHP 스크립트를 실행하기위한 bash 스크립트와 5 분마다 두 번째 PHP 스크립트를 가지고 있습니다. 그러나 그렇게 할 수있는 카운터는 작동하지 않습니다. 버그가있는 곳을 찾을 수 없습니다. 나는이 스크립트를 실행하면왜 내 카운터가 작동하지 않습니까?

#!/bin/bash 

while (true) 
do 
    sleep 1 
    if ((count % 15 == 0)) ;then 
      php test.php 
    fi 
    if ((count % 300 == 0)); then 
      php test2.php 
      count=0 
    fi 

    ((count = count +1)) 


done 

, 그것은 나에게 콘솔에서이 오류 제공 : 내가 루프 전에 카운터를 인스턴스화하는 것을 시도했다

script.sh: 8: script.sh: count: not found 
script.sh: 11: script.sh: count: not found 
script.sh: 16: script.sh: count: not found 
script.sh: 8: script.sh: count: not found 
script.sh: 11: script.sh: count: not found 
script.sh: 16: script.sh: count: not found 

를하지만 같은 결과로 끝납니다. 어떤 도움이라도 대단히 감사하겠습니다!

+1

while (true) ??? 어쨌든, 카운트를 정의하지 않으므로 여기서 일을 할 수 없습니다. 존재하지 않는 변수로 작업하고 있습니다. – Xatenev

+1

카운트가 정의되지 않았습니다 : P – briosheje

+0

힌트 : 이것을 달성하기 위해'watch -n15 php test.php'와'watch -n5 php test2.php'를 사용하십시오. – colburton

답변

0

bash 대신 sh으로 스크립트를 실행하는 것이 좋습니다. ./script.sh (shebang 바이너리가 사용되도록) 명령을 실행하거나 bash로 명시 적으로 호출하십시오. bash script.sh

+0

... 저는 스크립트를 실행하기 위해 sh를 사용하고 있습니다 ... 그 이유는 100 % 적절합니다. 내가 지금 확인 하고이 주석을 편집 할 것입니다 ... facepalm ** 편집 ** - 네, 그게 전부입니다. 그건 내 바보 야. 고마워요! – user3745117

+0

도움을 청하기 :-) btw 이것은 cronjob에 대한 이상적인 유스 케이스가 될 것입니다. – bmurauer

+0

나는 1 분보다 더 정확한 것을 필요로합니다. Cronjobs는 불행히도 그 정밀도가 없습니다. :) – user3745117

관련 문제