Hi kuemmelchen,
Wie kann ich in einem Shell Skript durch deine Code Abschnitt das Ergebnis (also Zeit Differenz) ausgeben bzw. in einer Datei schreiben?
Wenn ich die oben stehende Code ausführe, kriege ich kein Ergebnis
Wie kann ich in einem Shell Skript durch deine Code Abschnitt das Ergebnis (also Zeit Differenz) ausgeben bzw. in einer Datei schreiben?
Code:
#!/bin/csh # directories set tempDir = "$HOME/temp/" set tempSqlQuery = "$HOME/temp/CheckSqlAwbLocker.sql" set targetSuffix = ".dat" set dailyReport = "$HOME/temp/Ergebnis$targetSuffix" ############################### ## build SQL Query ############################### echo "set pagesize 0" > $tempSqlQuery echo "set linesize 800" >> $tempSqlQuery echo "set heading off" >> $tempSqlQuery echo "set headsep off" >> $tempSqlQuery echo "set feedback off" >> $tempSqlQuery echo "set trimspool on" >> $tempSqlQuery echo "set wrap off" >> $tempSqlQuery echo "set pause off" >> $tempSqlQuery echo "set trim on" >> $tempSqlQuery echo "set tab off" >> $tempSqlQuery echo "set space 1" >> $tempSqlQuery echo "set recsep off" >> $tempSqlQuery # echo "SELECT AWB, to_char( TMST, 'DD/MM/YY HH24:MI:SS' )" >> $tempSqlQuery # echo "FROM TDSOS_AWB_LOCKS " >> $tempSqlQuery # echo "WHERE TMST < (SYSDATE-(1/48));" >> $tempSqlQuery echo "DECLARE" >> $tempSqlQuery echo "mydaydate NUMBER;" >> $tempSqlQuery echo "tage number;" >> $tempSqlQuery echo "stunden number;" >> $tempSqlQuery echo "minuten number;" >> $tempSqlQuery echo "sekunden number;" >> $tempSqlQuery echo "zeit number;" >> $tempSqlQuery echo "datumstext varchar2(30);" >> $tempSqlQuery echo "datum date;" >> $tempSqlQuery echo "BEGIN" >> $tempSqlQuery echo "FOR zeiger IN (SELECT (SYSDATE - TMST) AS diff FROM TDSOS_AWB_LOCKS) LOOP" >> $tempSqlQuery echo "zeit := zeiger.diff;" >> $tempSqlQuery echo "tage := floor(zeiger.diff);" >> $tempSqlQuery echo "zeit := zeit - floor(zeit);" >> $tempSqlQuery echo "stunden := floor (zeit * 24); " >> $tempSqlQuery echo "zeit := zeit * 24 - floor(zeit * 24);" >> $tempSqlQuery echo "minuten := floor (zeit * 60); " >> $tempSqlQuery echo "zeit := zeit * 60 - floor(zeit * 60);" >> $tempSqlQuery echo "sekunden := floor (zeit * 60); " >> $tempSqlQuery echo "dbms_output.put_line(tage || ' Tage ' || stunden || ' Stunden ' || minuten || ' Minuten ' || sekunden || ' Sekunden');" >> $tempSqlQuery echo "END LOOP;" >> $tempSqlQuery echo "END;" >> $tempSqlQuery echo "/" >> $tempSqlQuery echo "quit;">>$tempSqlQuery ############################### ## build sqlquery finish ############################### #execute query sqlplus -s $DBMASTER_USER/$DBMASTER_PASSWORD @$tempSqlQuery > $dailyReport set input = `cat $dailyReport` set i = 1 #Count of founded Data while ( $i <= $#input ) echo "$input[$i]" @ i = $i + 1 end #cleanup #rm $tempSqlQuery echo "Erstellung der Daten erfolgreich beendet."
Comment