![Können Sie ein Skript dazu bringen, einen Befehl innerhalb einer Anwendung zu übergeben?](https://rvso.com/image/1000369/K%C3%B6nnen%20Sie%20ein%20Skript%20dazu%20bringen%2C%20einen%20Befehl%20innerhalb%20einer%20Anwendung%20zu%20%C3%BCbergeben%3F.png)
#!/bin/bash
mysql
Ich sehe, dass der Rest des Skripts nach Zeile zwei nach dem Beenden von MySQL ausgeführt wird. Wäre es möglich, einen Befehl hinzuzufügen, der innerhalb von MySQL verwendet werden kann? Angenommen, ich möchte, dass das Skript MySQL ausführt und den Befehl „show tables;“ ausgibt, wäre das machbar?
Antwort1
Im Fall von mysql
können Sie Befehle als Argumente mit der -e
Befehlszeilenoption oder über die Standardeingabe übergeben - beispielsweise mit einem Here-Dokument. Also entweder
mysql -u dbUser -pdbPass -e 'use mydb; show tables;'
oder
mysql -u dbUser -pdbPass << EOF
use mydb;
show tables;
EOF
(wobei dbUser
, dbPass
, mydb
entsprechend ersetzt werden).