各スクリプトを実行するときに異なる内部変数値を予想するにはどうすればよいですか?

各スクリプトを実行するときに異なる内部変数値を予想するにはどうすればよいですか?

アドバイスを求める。簡単なbashスクリプトを書いてみてください。 30分ごとにフォルダに入ってくるファイルの割合を確認してください。そのため、予想されるファイルの総数とそのファイルがフォルダーに存在する期間を知っています。

そのため、「検証ステータス」という値を追加するのが困難になっています。収益ファイルの割合が予想以上になると、設定ステータスが確認され、現在のデータを含む電子メールがHTMLテーブルに送信されます。したがって、各スクリプトは、HTMLテーブルに追加されるファイルにデータを追加するために実行されます。

テーブルサンプル:

    |     Time     | Files count| Files rate |  Status  |
    |14:31 21.01.18|    18567   |    15,6%   | Verified |
    |15:01 21.01.18|    21402   |    19,2%   |  Failed  |

同じスクリプトを実行し、異なる条件を確認する方法の解決策が見つかりません。私にとってロジックは次のとおりです。

最初のスクリプトが実行され、ファイル速度が15%以下の場合はステータス=確認され、そうでない場合はステータス=失敗

    if [ $attemptrun -eq 2 ] && [ $filerate -gt 15 ]
    then status=Verified
    else
    status=Failed

ただし、各追加スクリプトを実行し、異なるファイル速度を予想して確認するにはどうすればよいですか(例:最初の実行= < 15、2番目の実行 = < 22、3番目の実行 = < 35など)。

ベストアンサー1

この試み:

 #!/bin/bash

 while IFS='|' read -r _ time count rate status; do
     ((countlines==0)) && continue # skip headers

     time=${time// /} # bash parameter expansion to remove spaces
     count=${count// /} # same thing...
     status=${status// /} # same thing...
     rate=${rate// /}
     echo "time=$time count=$count rate=$rate status=$status"


     if ((${rate%\%} >= 15)) && [[ $status == Verified ]]; then
         status=Verified
     fi

     ((countlines++)) 
 done < file.txt

おすすめ記事