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"
UNIXシェルスクリプトを通じて声明を挿入し、私はさまざまな方法でINSERT文を変更しようとしたが、成功することができませんでした。 親切に最後の行に2番目にMySQLの私は次のエラーを取得する
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 '
2行目から最後の行には、1つの '' 'と2つの' ''があります。引用符の一貫性を保ち、適切にペアを作成します。 –
余分な '' ':' STR_TO_DATE( '$ b'、 '%Y-%m-%d') " –
あなたはシェルスクリプトで変数の値がシングルクォートの場合は文字列として扱われることにご注意ください。あなたが '' ':' '$ b''を使っているのを見ています。 これをチェックしてください 'x = Haddop':' echo "$ x" 'vs' echo '$ x'' –