如何 return 从 psql 到 bash 的值并使用它?

How to return a value from psql to bash and use it?

假设我在 postgre 中创建了一个序列sql:

CREATE SEQUENCE my_seq;

我将以下行存储在 sql 文件中 get_seq.sql

SELECT last_value FROM my_seq;

$SUDO psql -q -d database_bame -f get_seq.sql

如何将 SELECT 返回的 int 数放入 bash 并使用它?

尝试:

LAST_VALUE=`echo "SELECT last_value FROM my_seq;" | psql -qAt -d database_name`

您可以使用 VAR=$(command) 语法捕获命令的结果:

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

所需的 psql 选项意味着:

-t 只有元组

-A 输出未对齐

-q安静

-X 不要 运行 .psqlrc 文件