Ich habe MySQL mit Homebrew installiert.
mysql --version
mysql Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)
und
which mysql
/usr/local/bin/mysql
aber wenn ich versuche, es nach einer Pipe zu verwenden, erhalte ich die folgende Fehlermeldung
unzip -p dump.sql.zip | mysql
zsh: command not found: mysql
Warum ist das so und wie kann ich das beheben?
mysql
verschiedene Argumente wie Benutzer, Kennwort (sofern zutreffend), Datenbank usw. verwendet. Einige davon scheinen Ihnen zu fehlen.mysql
Argumente hinzugefügt werden , da einmysql
weiterer Fehler gemeldet wird , wenn er erkannt wird.found:
undmysql
in der Fehlermeldung gibt, mussten Sie beim Drücken der Leertaste immer noch shift / opt / whatever drücken, um das Pipe-Zeichen einzugeben.Antworten:
Sie haben ein zusätzliches Zeichen
mysql
, das wie ein Leerzeichen aussieht, aber kein Leerzeichen ist. Sie müssen dies beheben, bevor Sie den Befehl ausführen. Dieses Problem tritt auf, wenn Sie die Leertaste drücken, während Sie die OptionTaste gedrückt halten.Ein anderes Beispiel:
Eine andere Möglichkeit besteht darin, den Raum nach der Rohrleitung vollständig zu entfernen:
Option+ Space= \ xc2 \ xa0 (UTF-8)
Space = Regulärer Raum
quelle
|mysql
es möglicherweise besser, sich daran zu gewöhnen, shift / opt / whatever nach der Eingabe der Pipe und vor der Eingabe des Leerzeichens neu zu starten.cmd1 | cmd2
ist eine perfekt gültige Shell-Syntax. Und ja, abhängig von den Tastatureinstellungen und dem Gebietsschema.Beachten Sie den zusätzlichen Speicherplatz, der nach dem ":" in der ersten Fehlermeldung angegeben wird. Dies liegt daran, dass anstelle eines normalen Leerzeichens das Zeichen "Option Space" verwendet wird. Ihre Ausgabe ist ähnlich wie die erste dieser beiden
[
quelle