【发布时间】:2022-01-06 17:48:27
【问题描述】:
我正在尝试将 bash 数组调用到 for 循环内的 psql 查询中,但我无法使其工作...
这是我目前所拥有的
#!/bin/bash
IFS=$'\n' groupids=(`psql -X -A -d files -t -c 'select id from groups where parent=127'`)
arr=${#groupids[@]}
for (( x = 0; x<arr; x++ )); do
users=$(psql -X -A -d files -t -c "select id from groups where parent=${groupids[${x}]}")
echo $users
done
输出只是空行。
【问题讨论】:
-
在 SQL 中执行所有这些操作,而不是将第一个查询结果传输到 Bash 数组中。这可以通过单个 SQL 查询来完成,其中包含 groups 表本身的内部连接。