2017-01-09 1 views
0

cron 작업을 통해 실행하기 위해 sh 파일을 작성하고 있지만 쉘 스크립트에 대해 잘 모르는 경우 mysql 쿼리의 행 수를 200으로 나눈 다음, ceil 결과가 0에서 해당 금액으로 루프를 시작하십시오.쉘 스크립트 - 수학 연산 및 루프

긴 검색 후이 행을 mysql 쿼리의 행 수를 얻으려면이 줄을 썼습니다 및이 작동합니다.

total=`mysql database -uuser -ppassword -s -N -e "SELECT count(id) as total FROM users"` 

하지만 Google에서 무엇을 얻을 모두가 내 작업을 완료하는 데 도움이되지 않습니다, 나는 "EXPR"와 수학 연산에 대한 "하자"방법과 같은 테스트를하지만, 작동하지 않는 이유를 모르겠어요.

Google에서 발견 된 루프의 예도 작동하지 않습니다.

이 스크립트로 저를 도울 수 있습니까?

+0

왜? 여기서 추측하고 있지만,'split '에 대한 맨 페이지를 읽어 보았습니까 – Jasen

답변

0

나는 Bash를 사용하고 있다고 생각한다. 여기에 당신이 나누는 방법입니다 :

#!/usr/bin/env bash 
# ^
# | 
# | 
# --> This should be at the top of your script to make sure you run Bash 

value=$((total/200)) # total => value returned from mysql 
for ((i = 0; i <= $value; i++)); do 
    # your code here 
done 

Stackoverflow 예제의 놀라운 숫자가 있습니다. Bash 문서를 보시려면 https://stackoverflow.com/tags/bash/info을 추천합니다.

+0

힌트를 보내 주셔서 감사합니다. 첫 줄을 추가하고 "오류를 찾을 수 없습니다"라는 메시지가 표시되어 호스팅 회사에 연락하여 첫 코드가 보안 설정에 맞춰 듀오와 맞지는 않습니다. 하지만 중요한 점은 제 코드가 첫 번째 라인없이 작동한다는 것입니다. –

+1

귀하의 도움, 힌트 및 작업 코드에 대한 답변을 수락하겠습니다. 고마워 친구. –