Das sieht nicht aus wie die Ausgabe Ihrer Befehle - gibt es stattdessen eine Debug-Ausgabe?
Was Sie haben, sieht insofern korrekt aus, als es in die Schale eingezogen werden könnte und das geben kann, wonach Sie gefragt haben. Beachten Sie, dass 'aaa'\''bbb'
das identisch ist mit "aaa'bbb"
!
Randbemerkung: Ihre Variablen sehen etwas unkompliziert aus und Sie wiederholen sich $(date +%Y-%m-%d)
; Folgendes kann helfen:
lastmonth=$(date -d "-1 month" +%Y-%m-01) thismonth=$(date +%Y-%m-01) today=$(date +%Y-%m-%d)
und die SQL-Abfrage kann idiomatischer sein als ... where date between '$lastmonth' and '$thismonth' ...
.