0
filenname="/home/sxxxx/lob.oaxxx"
while read a b
do
mdate=$(date -d "$b" +'%s')
system_todate=$(date +'%s')
((diff=$system_todate-$mdate))
days=`echo "$diff/86400" | bc`
echo "$(date +%Y-%m-%d) $a $b $days"
$mysql -e "insert into dataStagDatabase.dataStagTable (as_on_date, hdfs_location, last_modified, no_of_days) values (STR_TO_DATE('$(date +%Y-%m-%d)','%Y-%m-%d'), '$a', STR_TO_DATE('$b', '%Y-%m-%d')", '$days');" -u root
done < "$filenname"
ich folgende Fehlermeldung erhalten, habe ich versucht, Insert-Anweisungen auf verschiedene Weise zu modifizieren, kann aber nicht gelingen. freundlicherMysql Insert-Anweisung durch Unix-Shell-Skript
oaisys_datastag.sh: line 19: syntax error near unexpected token `)'
oaisys_datastag.sh: line 19: `mysql -e "insert into dataStagDatabase.dataStagTable (as_on_date, hdfs_location, last_modified, no_of_days) values (STR_TO_DATE($(date +%Y-%m-%d),'%Y-%m-%d'), $a, STR_TO_DATE($b, '%Y-%m-%d')", $days);" -u root '
Auf Ihrer vorletzten Zeile haben Sie eine Öffnung '' 'und zwei schließende' ''. Machen Sie Ihre Angebote konsistent und paaren Sie sie entsprechend. –
extra '" ':' STR_TO_DATE ('$ b', '% Y-% m-% d') "' –
Sie wissen, dass der Wert der Shell-Skriptvariable als Zeichenfolge behandelt wird, wenn sie nur in Anführungszeichen steht. Ich sehe, dass Sie '' '' '' $ b'' verwenden. Schau es dir an 'x = Haddop':' echo "$ x" 'vs' echo '$ x'' –