Raketenwilli: Die Bash wertet den Asterix aus...

Beitrag lesen

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.