2017-08-18 1 views
0

ISpeichern der Ausgabe in Shell-Variable

die Ausgabe des folgenden Befehls über meine Postgres-Datenbank speichern möchten

sudo -u Postgres -H - psql -d firstdb -c "select count (col2) von Tabelle2; "

in eine Variable in der Shell definiert. habe ich diesen Weg somewhere-

abc = sudo -u Postgres -H - psql -d firstdb -c "select count (col2) aus table2;" Echo abc

aber scheint sein nicht Arbeits Gibt es eine andere Möglichkeit, die Ausgabe zu speichern, um Schnitt Abfrage anzuwenden, um den Wert zu holen und für die Größe der Spalte überprüfen ??

+0

Sie können 'abc = $ (command)' in den meisten Shells verwenden, um Ausgaben in Variablen zu speichern. – blackghost

+0

Ich habe $ (Befehl) verwendet, aber das hat auch nicht funktioniert !! –

+1

Um es klar zu sagen, würden Sie tun: 'abc = $ (sudo -u postgres -H - psql -d erstedb -c" wählen Sie count (col2) aus table2; ")', und dann 'echo $ abc' zu sehen Die Ausgabe ... Beachten Sie, dass dies stdout, nicht stderr erfassen wird ... – blackghost

Antwort

0

können Sie tun:

abc=$(svn://solace2/svn/vrs32/branches/feature/ipv6_support 2>&1) 

und führen Sie dann echo $abc die Ausgabe zu sehen. Beachten Sie, dass die 2> & 1 am Ende stderr auf stdout umleitet, bevor stdout der Variablen zugewiesen wird, was bedeutet, dass abc sowohl Fehlermeldungen als auch normale Meldungen enthält.

Verwandte Themen