Twilo: SQL-Befehl per Konsole ausführen

Hallo,

kann mir jemand sagen, was daran falsch ist?

/usr/bin/mysql -u root -pcat /xxx/mysql.conf --database=mysql --execute="UPDATE user SET Password = OLD_PASSWORD('xxx') WHERE Host = 'localhost' AND User = 'root' LIMIT 1;"
-su: user: command not found
-su: Password: command not found
-su: Host: command not found
-su: User: command not found
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET  = OLD_PASSWORD('xxx') WHERE  = 'localhost' AND  = 'root' LIMIT 1' at line 1

mfg
Twilo

  1. echo $begrüßung;

    kann mir jemand sagen, was daran falsch ist?
    /usr/bin/mysql -u root -pcat /xxx/mysql.conf --database=mysql --execute="UPDATE user SET Password = OLD_PASSWORD('xxx') WHERE Host = 'localhost' AND User = 'root' LIMIT 1;"

    Du gibst der Shell einmal die Backticks mit der Bedeutung "führe den darin eingeschlossenen Befehl aus" und ein anderes Mal als an das aufzurufende Programm zu übergebene Daten. Innerhalb von mit "" eingefassten Strings verlieren die Backticks die erstgenannte Bedeutung nur, wenn sie mit einem \ maskiert werden.

    Alternativ könnte man statt der doppelten die einfachen Anführungszeichen verwenden, dann findet kein weiteres Auswerten von Zeichen statt. Allerdings hast du diese Zeichen auch als Bestandteil der Daten und ein Escaping gibt es innerhalb von ''-Zeichenketten nicht. In deinem Fall ist diese Alternative also nicht anwendbar.

    echo "$verabschiedung $name";

    1. Hallo,

      ich hab es jetzt wie folgt gemacht

      /usr/bin/mysql -u root -pcat /xxx/mysql.conf --database=mysql < sql.txt

      in der sql.txt Datei steht jetzt der SQL-Befehl drin

      mfg
      Twilo