Edytuj: w rzeczywistości to nie działa, przepraszam. Ale ryk działa.
Jeśli wynik jest zawsze 4 linii i bez wywoływania żadnych innych poleceń, które tworzą proces:
(read; read; read count; read) < <(psql db -c "SELECT COUNT(test) FROM tbTest;")
echo "$count"
To również działa:
edycja End
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read; echo "$count")
Ostrzeżenie: zmienna count
nie będzie dostępna poza nawiasami ponieważ rura (|
) uruchamia nowy proces. Więc to nie działa:
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read)
echo "$count"
Edit:
Jeśli chcesz liczyć w zmiennej, można:
count=$(psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count_tmp; read; echo "$count_tmp"))
doskonała odpowiedź: D – Killercode
AH zapewnia znacznie więcej eleganckie rozwiązanie. –