Chỉnh sửa: thực sự, điều này không có tác dụng, xin lỗi. Nhưng những tác phẩm dưới đây.
Nếu kết quả luôn 4 dòng là, và không có cách gọi bất kỳ lệnh khác để tạo ra một quá trình:
(read; read; read count; read) < <(psql db -c "SELECT COUNT(test) FROM tbTest;")
echo "$count"
này cũng làm việc:
End chỉnh sửa
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read; echo "$count")
Cảnh báo: biến số count
sẽ không có sẵn trong ngoặc đơn bởi vì đường ống (|
) khởi chạy một quy trình mới. Vì vậy, điều này không làm việc:
psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count; read)
echo "$count"
Edit:
Nếu bạn muốn đếm trong một biến, bạn có thể:
count=$(psql db -c "SELECT COUNT(test) FROM tbTest;" | (read; read; read count_tmp; read; echo "$count_tmp"))
xuất sắc trả lời: D – Killercode
AH cung cấp một nhiều hơn nữa giải pháp thanh lịch. –