gpt4 book ai didi

bash - 如何将 PostgreSQL 结果插入 shell 变量

转载 作者:行者123 更新时间:2023-11-29 13:17:19 27 4
gpt4 key购买 nike

我想在变量中设置所有这些语法

su -l postgres -c "psql -c \"CREATE DATABASE graphite WITH OWNER graphite\""

CREATE DATABASE

所以我写了这个

res=$(  su -l postgres -c "psql -c \"CREATE DATABASE graphite WITH OWNER graphite\"" )

CREATE DATABASE

但是$res是空的

echo $res

我也试过添加“”但没有成功。

如何插入

的结果
su -l postgres -c "psql -c \"CREATE DATABASE graphite WITH OWNER graphite\""

到 shell 变量?

最佳答案

检查结果退出状态是否有效:

MacBook-Air:~ root# res=$(su -l vao -c "/usr/local/Cellar/postgresql/9.6.1/bin/psql -c \"CREATE DATABASE graphite\" -d so")
MacBook-Air:~ root# echo $?
0
MacBook-Air:~ root# res=$(su -l vao -c "/usr/local/Cellar/postgresql/9.6.1/bin/psql -c \"CREATE DATABASE graphite\" -d so")
ERROR: database "graphite" already exists
MacBook-Air:~ root# echo $?
1

标准输出也显示:

MacBook-Air:~ root# echo $res
Timing is on. Pager usage is off. SET Time: 0.333 ms SET Time: 0.112 ms SET Time: 0.127 ms Time: 0.290 ms

关于bash - 如何将 PostgreSQL 结果插入 shell 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47157081/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com