Können Sie ein Skript dazu bringen, einen Befehl innerhalb einer Anwendung zu übergeben?

Können Sie ein Skript dazu bringen, einen Befehl innerhalb einer Anwendung zu übergeben?
#!/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 mysqlkönnen Sie Befehle als Argumente mit der -eBefehlszeilenoption 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, mydbentsprechend ersetzt werden).

verwandte Informationen