Query='SELECT * FROM table'
echo $Query
Folge: Ähnliches bekommt Dein Mysql-Client „zu fressen“:
SELECT armbian_pakete.sqbpro […] Vorlagen FROM table
Klar kommt da nichts raus. Du überlässt es der Shell, den Asterix (*
) auszuwerten - und die baut treudoof eine Liste aller nicht versteckten Dateisystem-Objekte im Verzeichnis daraus. Das geht besser:
echo "$Query"
sendet:
SELECT * FROM table
Frage:
mysql […] -e "$Query" > ausgabe.txt 2> errors.txt
hast Du probiert?
Du musst in der Shell Argumente sehr häufig( fast regelmäßig) in Anführungstrichen übergeben. Leerzeichen trennen die Optionsparameter z.B. von Argumenten und diese untereinander. Daran ändert auch nichts, dass „Autoren“ und Youtuber in ihren tollen, optimierten Beispielen diese dummerweise weg lassen.