Você definiu ECount
muito cedo, nesse momento, o arquivo count_error
ainda está vazio quando o script é executado pela primeira vez:
ECount='cat $count_error'
...
grep -i "Error invoking command" $yest_* >> $error_txt
...
cat $error_txt | wc -l >> $count_error
if [ $ECount = 0 ];
Use
grep -i "Error invoking command" $yest_* >> $error_txt
...
wc -l $error_txt >> $count_error
ECount='cat $count_error'
if [ $ECount = 0 ];
em vez disso, ou (se você não precisar do arquivo mais tarde)
ECount='wc -l $error_txt'
if [ $ECount = 0 ];