2015-02-11 18 views

Trả lời

15

Bạn có thể nắm bắt được kết quả của một lệnh bằng cách sử dụng VAR = $ (lệnh) Cú pháp:

VALUE=$(psql -qtAX -d database_name -f get_seq.sql) 
echo $VALUE 

Các tùy chọn psql cần có nghĩa là:

chỉ -t tuple

-A đầu ra không được canh lề

-q yên tĩnh

-X Đừng chạy .psqlrc nộp

+0

@ eric-leschinski, tại sao bạn thêm 'tùy chọn -X'? Tôi nghĩ, tùy chọn này không cần thiết trong trường hợp này. –

+0

Tệp '~/.psqlrc' thực hiện các thao tác khi đăng nhập cơ sở dữ liệu mà kết xuất nhiễu đến đầu ra được bắt gặp vào biến' VALUE' của bạn, tiếng ồn đó đã bị loại bỏ bằng tùy chọn -X. –

+0

ok, đây là trường hợp của bạn, nhưng thông thường nó có hợp lệ không? Tệp psqlrc cũng có thể thực hiện các thao tác cần thiết để chạy truy vấn –

1

Hãy thử:

LAST_VALUE=`echo "SELECT last_value FROM my_seq;" | psql -qAt -d database_bame` 
Các vấn đề liên quan