2013-02-20 4 views
0

Я пытаюсь получить только последнее обновленное значение переменной date2, но все время он дает 0 в выводе, я думаю, что это потому, что я извлекаю его из стороны блок, но я хочу только последнее хранилище значение в переменной date2, как я могу это исправить problem.thanks для вашей помощиПолучение последнего сохраненного значения в переменной с использованием shell-скриптов

вот мой код

count=0 
date1=0 
date2=0 

mysql -uroot -proot -Dproject_ivr_db -rN --execute "SELECT FeeSubmissionDate FROM  
meritlist_date wHERE Discipline='phd' AND AnnounceDate<=now() " | while read value 

do 
     if [[ "$count" == 0 ]] 
     then 
     let "date2=$value" 
     let "count++" 
     else 
     let "date1=$value" 
     let "result=$date1-$date2" 
     if [[ "$result" -gt 0 ]] 
     then 
       let "date2=$date1" 
     fi 
     fi 

    done 

echo"V,date2=$date2" 

ответ

0

AWK может легко решить эту проблему. Ниже приведен пример простого скрипта, который перечисляет все файлы в текущем каталоге и возвращает число тех файлов, которые имеют подстроку «test» как часть имени файла.

#!/bin/bash 

ls -1 | 
awk 'BEGIN { count=0 } { if (index($0,"test") != 0) { count++ }} END { printf("Count=%s\n", count); }' 

Теперь, если заменить Ls -1 с командой MySQL и избавиться от цикла в то время, просто используя AWK в аналоговом, как показано выше, вы не должны иметь никаких проблем подсчета линий интерес.

Смежные вопросы