gpt4 book ai didi

bash - 如何使用 su -c 和 bash 脚本引用 psql 语句?

转载 作者:行者123 更新时间:2023-11-29 13:28:54 25 4
gpt4 key购买 nike

我正在 bash 脚本中尝试以下语句:

su -c  "psql -d myDB-c 'SELECT count(*) AS number, date_trunc('day'::text, users.registerdate) AS registerdate FROM users;'" postgres

问题是需要引用的 'day' 参数,但在引号内它不起作用。

最佳答案

您似乎试图将单引号括在单引号内,当然您不能这样做。 'this'and'that' 解析为 'this' 后跟不带引号的 and 后跟 'that' ,而不是带引号的字符串 this'and'that

通常的解决方案是用双引号包裹单引号,反之亦然,所以 "this'and'that"'this"and"that' 如果在引用的字符串中替换双引号是可以接受的;但在这里,你已经拥有了两者,所以你不能(直接地)那样做。

假设 psql 可以从标准输入读取命令,这里简单的解决方法是使用 here document .

su -c "psql -d myDB-c <<'____HERE' 
SELECT count(*) AS number,
date_trunc('day'::text, users.registerdate) AS registerdate
FROM users;
____HERE" postgres

关于bash - 如何使用 su -c 和 bash 脚本引用 psql 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28361993/

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