2017-01-09 3 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

私はあなたの助け、ヒント、および作業コードの回答を受け入れます。ありがとよ。 –

関連する問題