26 Stimmen

Bash: Wie ruft man einen Befehl auf und speichert das Ergebnis in einer Variablen?

Grundsätzlich möchte ich in der Lage sein, einen bestimmten Befehl aufzurufen, in diesem Fall mysql -uanon -ppwd -db mydb -e "select count(*) from table1" . Dann nehmen Sie das Ergebnis dieses Befehls (die Anzahl in der Tabelle) und setzen es in eine Variable im Bash-Skript. Was ist der einfachste Weg, dies zu erreichen?

41voto

Jürgen Hötzel Punkte 17196

Wahrscheinlich möchten Sie den Batch-Modus (-B) verwenden und Spaltennamen (--disable-column-names) für nicht-interaktive mysql-Ausgaben deaktivieren:

out=$(mysql -B -db mydb -uanon -ppwd --disable-column-names  -e "select count(*) from table1";)

14voto

unwind Punkte 377331
$ A=$(mysql -uanon -ppwd -db mydb -e "select count(*) from table1")
$ echo $A

Mit anderen Worten: Verwenden Sie die $()-Syntax.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X